前置条件:
拥有对应ROM的framework源码
步骤:
1.把/framework/base/services目录(也可以是其他代码目录)导入AndroidStudio,不要管是否报错。
2.在AMS中的attachApplication开始代码打上断点,所有应用的启动都会调用这个方法。

3.点击AS窗口右上角的“进程调试"图标->勾选Show all processes->选择system_process进程

4.任意打开一个应用,成功进入调试状态。

注意:AS偶尔会出现调试失败问题,可以重启AS后再尝试。
5.调试SystemUI
调试SystemUI时长时间不响应会被杀掉。可以在开发者选项中开启总是弹出等待框选项。
开发者选项-》后台检查-》打开“一律显示崩溃对话框”和"显示后台ANR"
问题:SystemUI调试时出现局部变量获取不到的情况(cannot find local variable)
解决:
5.1.application 中设置android:debuggable="true"

5.2.关闭混淆
android.bp

5.3.重新编译SystemUI
rm -rf out/soong/.intermediates/frameworks/base/packages/SystemUI
make SystemUI
本文介绍了在Android Studio中调试对应ROM的framework源码及SystemUI的方法。前置条件是拥有对应ROM的framework源码,随后给出具体步骤,还提及调试中可能出现的问题,如调试失败、SystemUI长时间不响应、局部变量获取不到等,并给出相应解决办法。
431

被折叠的 条评论
为什么被折叠?



