android6.0单独编译和调试framework源码的方法


缺省情况下,android 6.0的编译过程会优化framework.jar,这导致所有系统启动相关的文件(比如service.jar)一起打包到boot.oat中打包,并引入了checksum机制,无法单独针对一个文件进行修改。

framework单独编译方法1:

为了方便调试,最便捷的方法就是在device目录下修改BoardConfig.mk(我的目录是android/device/softwinner/tulip-p1/BoardConfig.mk):

WITH_DEXPREOPT := false


通过mm -B在android目录中重新编译

通过pack -d打包生成img

重新烧录img后会发现/system/framework/framework.jar不再是309字节。

service.jar的烧录方法类似。

每次编译完成后所有的install文件都必须找到对应的目录重新覆盖。


framework单独编译方法2:

如果坚持采用AOT优化模式编译,无法重新烧录映像,就必须在每次编译完成后把所有的install文件全部重新覆盖到设备中。

这种方式下,需要覆盖的文件至少包括以下文件/目录:

boot.art,

boot.oat,

oat,

arm,

arm64


你可能感兴趣的:(开发环境)