源码编译Android 4.1.2的Camera应用(Eclipse版)

为什么80%的码农都做不了架构师?>>>   hot3.png

android4.1.2的Camera是属于Gallery的一部分的,要到Android4.4以后才会独立出来一个Camera2项目,Camera2项目是一个独立的项目,不附属于Gallery的一部分。

Android各种源码下载:https://android.googlesource.com/

我都是下载android4.1.2_r2.1版本的

Gallery2项目,不是Gallery项目:https://android.googlesource.com/platform/packages/apps/Gallery2/

Eclipse导入Gallery2项目之后,各种依赖报错,翻看Android.mk文件,需要依次导入如下依赖工程:

  1. gallerycommon:下载的Gallery2工程源码已经包含

  2. pd:下载的Gallery2工程源码已经包含

  3. camera:https://android.googlesource.com/platform/packages/apps/Camera/

  4. v13:https://android.googlesource.com/platform/frameworks/support/+/android-4.1.2_r2.1/v13/

  5. ics_13:下载的v13工程源码已经包含

  6. ics-mr1_13:下载的v13工程源码已经包含

  7. filterfw:https://android.googlesource.com/platform/frameworks/base.git/+/android-4.1.2_r2.1/media/mca/filterfw/

  8. filterpacks:https://android.googlesource.com/platform/frameworks/base.git/+/android-4.1.2_r2.1/media/mca/filterpacks/

完成以上源码的导入之后,还存在一处对SDK内部的隐藏类的使用,网上大部分都是直接引用layoutlib.jar的方式处理:

http://ytydyd.blog.sohu.com/170373533.html

其实,可以直接使用,如下方式,解决filterpacks项目对SystemProperties的依赖:

//        String adjStr = SystemProperties.get("ro.media.effect.bgdropper.adj");
        String adjStr = System.getProperties().getProperty("ro.media.effect.bgdropper.adj");

然后,eclipse配置好ndk,解决jni的编译问题,接着,将Camera项目中各种布局文件导入到Gallery2工程,解决各种布局文件冲突,剔除各种警告,最后Eclipse编译就搞定了。

好运,少年们。

源码编译Android 4.1.2的Camera应用(Eclipse版)_第1张图片



转载于:https://my.oschina.net/fxtxz2/blog/360121

你可能感兴趣的:(源码编译Android 4.1.2的Camera应用(Eclipse版))