android5.1 编译framework层文件,生成的jar替换不成功 5C

android5.1修改修改系统framework层后,执行mm命令,生成framework.jar,通过adb动态替换系统文件,发现替换不成功。(这个方法在android4.4是可以的)。如果android源码重新编译打包,也可以修改成功。请问问题出在那里?

6个回答

如果是frameworks/base/service下面有改动,应该mmm frameworks/base/services/
然后再push services.jar

不确定你说的替换不成功是指adb push不成功还是说替换成功后重启修改没有生效

如果是adb push不成功需要检查命令是否有执行adb root,adb remount等操作,如果是开启了dm-verity的设备需要检查dm-verity是否有关闭。
检查dm-verity的方式是adb shell df,查看system分区前面是否为dm-0,若是则使用adb root之后输入命令adb disable-verity关闭dm-verity后重启,
重启后再次push检查是否生效。

如果说是mm生成的jar修改不生效需要检查mk文件,打包后的jar是否有依赖没进行编编译,可以使用mma进行一次编译查看依赖包是否有同时编译。
具体不知道你修改的是framework下的哪一个地方,可能是android4.4和android5.1的架构发生了一些变化导致的

如果以上方式还是不行,在单编之后使用make snod可以加快system分区的打包,提供调试速度

编译整包的时候lunch选择eng版本,然后烧录到平台中,再单独编译jar包今天替换

Android 5.0使用ART不是Dalvik。把ODEX关掉后试试。https://blog.csdn.net/fuyinghaha/article/details/79010084

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!