Android Framework调试方法-Java部分
Java 代码的调试,主要依据两个因素,一个是你要调试的进程;一个是调试的类对应的包名路径,同时还要保证你所运行的手机环境和你要调试的代码是匹配的。
注意:符合以上两个因素,即使源码编译不过也可以调试。
查看系统进程
系统进程名称是system_server
,通过下面的命令可以看到 pid
(进程ID)。
1 | ps -A |grep system_server |
这里 pid=3023
,继续用 cat
命令查看此进程的内存映射,看看是否services
映射到内存里边。
1 | cat /proc/3023/maps |grep services |
odex
是 Android 系统对于 dex
的进一步优化,目的是为了提升执行效率。从这个信息便可以确定,我们的 services.jar
确实是跑到这里了,也就是我们的系统服务相关联的代码,可以通过调试 system_server
进程进行跟踪。
调试
首先通过adb连接到设备:
然后在需要调试的地方打断点:
点击调试按钮
选择对应的进程
点击OK开始调试。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Jona's Blog!