Android Q userdebug模式framework层调试指南
引言
随着Android版本的迭代,原来先前的一些调试方法都发生了相应的变化譬如我们常见的framework层的调试,这里我们简单的来说明一下Android Q版本userdebug如何调试framework层!
注意这里的Android版本为Q(10),且模式为userdebug!这点需要注意。
一.快速调试service.jar
1.1 快速调试service.jar方式一
由于这是实战性的东西,没有啥好过多语言性描述的!直接上步骤:
1.构建好编译环境
2.修改/framewrok/base/service目录下面的相关文件,然后make -j8 service编译模块
3.adb连接上开发终端
4.adb push services.jar /system/framework/
5.adb push services.jar.prof /system/framework
6.adb push oat/arm64/services.art /system/framework/oat/arm64/
7.adb push oat/arm64/services.odex /system/framework/oat/arm64/
8.adb push oat/arm64/services.vdex /system/framework/oat/arm64/
1.2 快速调试service.jar方式二
由于这是实战性的东西,没有啥好过多语言性描述的!直接上步骤:
1.构建好编译环境
2.修改/framewrok/base/service目录下面的相关文件,然后make -j8 service编译模块
3.adb连接上开发终端
4.adb shell " rm /data/dalvik-cache/arm64/system@framework@services.jar@classes.* "
5.adb shell " rm /system/framework/oat/arm64/ -rf "
6.adb shell " rm /system/framework/arm64/ -rf "
7.adb push services.jar /system/framework/services.jar
8.adb push services.jar.prof /system/framework/services.jar.prof
9.adb shell sync
10.adb reboot
二.快速调试framework.jar
2.1 快速调试framework.jar方式一
这也是实战性的东西,没有啥好过多语言性描述的!直接上步骤:
1.构建好编译环境
2.修改framework模块下的相关文件,然后make -j8 framework编译模块
3.adb连接上开发终端
4.adb push framework.jar /system/framework/
5.adb push boot-framework.vdex /system/framework/
6.adb push arm/boot-framework.art /system/framework/arm/
7.adb push arm/boot-framework.art.rel /system/framework/arm/
8.adb push arm/boot-framework.oat /system/framework/arm/
9.adb push arm/boot.art /system/framework/arm/
10.adb push arm/boot.oat /system/framework/arm/
11.adb push arm64/boot.art /system/framework/arm64/
12.adb push arm64/boot.oat /system/framework/arm64/
13.adb push arm64/boot-framework.art /system/framework/arm64/
14.adb push arm64/boot-framework.art.rel /system/framework/arm64/
15.adb push arm64/boot-framework.oat /system/framework/arm64/
2.2 快速调试framework.jar方式二
这也是实战性的东西,没有啥好过多语言性描述的!直接上步骤:
1.构建好编译环境
2.修改framework模块下的相关文件,然后make -j8 framework编译模块
3.adb连接上开发终端
4.adb shell " rm /data/dalvik-cache/arm64/ -rf "
5.adb shell " rm /system/framework/oat/arm64/ -rf "
6.adb shell " rm /system/framework/arm64/ -rf "
7.adb shell "rm /system/framework/boot-framework.vdex"
8.adb push framework.jar /system/framework/
9.adb shell sync
10.adb reboot
三.注意点
如果大家有修改frameworks/base/services/java/com/android/server/SystemServer.java文件中的逻辑,一定要把第一步中framework也替换掉否则会因为SystemServer类找不到导致system_server进程启动失败,手机会无限重启!