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文件,需要依次导入如下依赖工程:
gallerycommon:下载的Gallery2工程源码已经包含
pd:下载的Gallery2工程源码已经包含
camera:https://android.googlesource.com/platform/packages/apps/Camera/
v13:https://android.googlesource.com/platform/frameworks/support/+/android-4.1.2_r2.1/v13/
ics_13:下载的v13工程源码已经包含
ics-mr1_13:下载的v13工程源码已经包含
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编译就搞定了。
好运,少年们。