参照网上编译合成android.jar有些细节问题导致某些类导入不可用,以及一些系统api访问不到,在此记录一下。
1,源码编译 (RK平台为例,以此类比)
source build/envsetup.sh
lunch kandaovr-userdebug
make installclean
make -j16
make dist -j16
./mkimage_ab.sh
2,取得编译生成的两个jar包
classes-header.jar
路径:out/target/common/obj/JAVA_LIBRARIES/framework_intermediates
framework.jar
路径:out/target/product/kandaovr/system/framework
3,取你项目使用SDK对应\platforms的android.jar包
如:platforms\android-31\android.jar
4, 以上jar包全部放到一个文件夹下,如:D:\new_android_jar,开始解压jar包,
注意以下解压顺序,操作是关键
a,先解压classes-header.jar
注意出现已存在全部覆盖 全部选否
b,再解压framework.jar (包含系统所有隐藏api)
同理 出现已存在全部覆盖 全部选否
c,再解压android.jar
同理 出现已存在全部覆盖 全部选否
5,解压完成,删除classes-header.jar,framework.jar,android.jar (如需多次操作,做好备份)
6,执行合成android.jar命令
在此文件夹下打开cmd 输入命令:注意空格和 “ .” ,打包此文件下的所有文件成android.jar包
jar -cvfM android.jar .
7,生成android.jar替换项目如:platforms\android-31\android.jar的jar包,同步下androidStudio即可
原文链接:https://blog.csdn.net/qq_38996911/article/details/129257409