Code Bye

修改Android framework源码后将framework.jar给push进机子后为什么不起作用

本人在android5.1源码frameworks/base/core/java/android/app目录下添加本人的类后,在frameworks/base下mm,编译完后把framework.jar给push进实机的/system/framework目录中,修改机子的/system/etc/preload-classes文件,添加本人的类,重启机器,为什么ZygoteInit执行时,提示找不到那些类?用dexdump查看framework.jar里dex文件的信息,可以找到本人加进去的类的。是系统的什么地方有旧framework dex文件的缓存吗,还是哪个步骤错了?(本人也修改了ZygoteInit,在里面打印了几条log信息,开机时也没有打印出来,感觉修改的确是没起作用)
解决方案

60

添加模块配置编译了么?或清下缓存试下

30

不知道你是怎么替换到系统中的,本人遇到的问题是原因是文件写入后没有强制sync就马上重启,结果文件没有替换成功。
建议你将文件从Android系统中弄出来再对比一下,首先确认文件是确实被替换了。

CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明修改Android framework源码后将framework.jar给push进机子后为什么不起作用