您的位置:首页 > 移动开发 > Android开发

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

2016-10-14 11:24 309 查看
缺省情况下,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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息