调试AOSP Java 代码

下载 Android 源代码,编译

1
2
3
4
5
$ source build/envsetup.sh
$ lunch
$ make
$ mmm development/tools/idegen/
$ ./development/tools/idegen/idegen.sh

运行后将生成下面几个文件

1
2
3
android.ipr (IntelliJ / Android Studio)
android.iml (IntelliJ / Android Studio)
.classpath (Eclipse)
  1. 在Android Studio 中导入 android.ipr

File -> Open 选择 android.ipr, 导入后可以Android Studio 中浏览AOSP 源码

  1. 设置远程调试配置文件

Run -> Edit Configuration 点击左上角的 + 类型选择 Remote

  1. Attack 到需要调试的进程

这里有两种方法,一是使用SDK 提供的 Monitor 二是使用 Android Studio 自带的
Attach debugger to Android Process 按钮。

连接成功后将看到 Connected to the target VM

  1. 设置断点

设置断点很简单,用鼠标点击源码文件的左边栏,看见红色圆点说明就已经设置成功了。也
可以使用Ctrl + F8 的快捷键。

  1. 运行程序,触发断点

需要注意的是在调试过程中会出现源码对不上的情况,需要自己选择正确的源码。关于哪些
进程可以调试的问题,上篇已经有记录,这里就不在说了。

参考资料

  1. AOSP Sources in the IDE
    https://newcircle.com/s/post/1720/aosp_sources_in_the_ide
  2. Debugging AOSP Platform code with Android Studio - Part I - Java Debugger
    http://ronubo.blogspot.sg/2016/01/debugging-aosp-platform-code-with.html

调试AOSP Java 代码
https://usmacd.com/cn/debug_aosp_java_code/
作者
henices
发布于
2023年9月6日
许可协议