前言
Android系统应用要迁移到Gradle,需要把系统应用依赖的隐藏API给暴露出来,所有要得到保护隐藏API的framework.jar和android.jar
生成android.jar步骤
采用原生的SDK的android.jar和系统隐藏接口的jar包做一个合并操作,生成自定义的android.jar来编译
- 找到sdk目录对应的android.jar路径,如 ”platforms\android-32“,把android.jar拷贝出来,并且解压到new_android_jar
- 在编译好的aosp源码中,找到classes-header.jar,一般路径在 “out/target/common/obj/JAVA_LIBRARIES/framework_intermediates/class-header.jar”,同样解压到new_android_jar,覆盖同名的文件
- 文件合并之后,需要打包,"jar cvf android.jar -C new_android_jar/ .",生成新的android.jar包
- 生成的android.jar覆盖原来的android.jar即可
得到framework.jar
out\target\common\obj\JAVA_LIBRARIES\framework_intermediates目录中找到classes.jar,重命名为framework.jar