之前搞系统开发时,要验证framework中的逻辑,直接替换framework.jar,自己的博客也记录了修改方法:编译framework.jar,并验证自己的修改。
现在针对Android 8.0还使用之前的验证方式,发现不生效,原来framework编译的目标文件已经改变了详细如下:
adb push out\target\product\xxx\system\framework\framework.jar system/framework/
adb push out\target\product\xxx\system\framework\boot-framework.vdex system/framework
adb push out\target\product\xxx\system\framework\arm\boot-framework.art /system/framework/arm
adb push out\target\product\xxx\system\framework\arm\boot-framework.art.rel /system/framework/arm
adb push out\target\product\xxx\system\framework\arm\boot-framework.oat /system/framework/arm
adb push out\target\product\xxx\system\framework\arm\boot.art system/framework/arm/
adb push out\target\product\xxx\system\framework\arm\boot.oat system/framework/arm/
adb push out\target\product\xxx\system\framework\arm64\boot.art system/framework/arm64/
adb push out\target\product\xxx\system\framework\arm64\boot.oat system/framework/arm64/
adb push out\target\product\xxx\system\framework\arm64\boot-framework.art /system/framework/arm64
adb push out\target\product\xxx\system\framework\arm64\boot-framework.art.rel /system/framework/arm64
adb push out\target\product\xxx\system\framework\arm64\boot-framework.oat /system/framework/arm64
2、验证framework/base/services下的修改,需要替换如下文件
adb push out\target\product\xxx\system\framework\services.jar system/framework/
adb push out\target\product\xxx\system\framework\services.jar.prof system/framework
adb push out\target\product\xxx\system\framework\oat\arm64\services.art system/framework/oat/arm64/
adb push out\target\product\xxx\system\framework\oat\arm64\services.odex system/framework/oat/arm64/
adb push out\target\product\xxx\system\framework\oat\arm64\services.vdex system/framework/oat/arm64/
3、请一定注意,如果大家有修改frameworks\base\services\java\com\android\server\SystemServer.java文件中的逻辑,一定要把第一步中framework也替换掉,否则会因为SystemServer类找不到导致system_server进程启动失败,手机会无限重启!