Android Q userdebug模式framework层调试指南

    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进程启动失败,手机会无限重启!

上一篇:Adreno GPU上Windows基于Arm64游戏开发介绍(4)


下一篇:Win ARM64 构建 Chrome,成功!