Android一直在不斷的演進,系統層實現的邏輯也不斷的在變化,所以我們還是要不斷的學習、跟進,否則一些技術知識就會過時。之前搞系統開發時,要驗證framework中的邏輯,直接替換framework.jar,自己的博客也記錄了修改方法:編譯framework.jar,並驗證自己的修改。
現在針對Android 8.0還使用之前的驗證方式,發現不生效,原來framework編譯的目標文件已經改變了詳細如下:
1、驗證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、驗證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/