使用Android Studio3.1.2断点调试Android 6.0源码(无需编译)

骑猪看日落 2022-05-22 08:48 310阅读 0赞

调试源码有时候很有用,毕竟原来里的各种标志位,变量多的一匹,当时看明白了过不了多久就忘了,又重新看很是难受。要是和普通应用一样断点调试就方便很多了。基于新版Android Studio来进行源码断点调试配置,使用Windows环境。源码下载完成之后,15分钟之内就能搞定。

准备工作

因为要下载源码,直接放个地址https://pan.baidu.com/s/1oFdqdw6-IeKKbVhb-92WaA,这是6.0的源码。然后还需要一个ipr和iml文件https://pan.baidu.com/s/1PupF32cuDWIO8u7ThYBW2A。将这个压缩包下载好之后,解压的文件放入源码根目录。6.0源码在Windows解压会提示重名文件问题,直接点全部重命名就好了,反正也不是为了要编译。一切准备就绪了。

打开文件

在打开之前需要先配置android.iml,也就是刚刚下载的配置文件的其中一个。
<content>节点下面加入以下内容。

  1. <excludeFolder url="file://$MODULE_DIR$/.repo" />
  2. <excludeFolder url="file://$MODULE_DIR$/abi" />
  3. <excludeFolder url="file://$MODULE_DIR$/art" />
  4. <excludeFolder url="file://$MODULE_DIR$/bionic" />
  5. <excludeFolder url="file://$MODULE_DIR$/bootable" />
  6. <excludeFolder url="file://$MODULE_DIR$/build" />
  7. <excludeFolder url="file://$MODULE_DIR$/cts" />
  8. <excludeFolder url="file://$MODULE_DIR$/dalvik" />
  9. <excludeFolder url="file://$MODULE_DIR$/developers" />
  10. <excludeFolder url="file://$MODULE_DIR$/development" />
  11. <excludeFolder url="file://$MODULE_DIR$/device" />
  12. <excludeFolder url="file://$MODULE_DIR$/docs" />
  13. <excludeFolder url="file://$MODULE_DIR$/hardware" />
  14. <excludeFolder url="file://$MODULE_DIR$/libcore" />
  15. <excludeFolder url="file://$MODULE_DIR$/libnativehelper" />
  16. <excludeFolder url="file://$MODULE_DIR$/ndk" />
  17. <excludeFolder url="file://$MODULE_DIR$/out" />
  18. <excludeFolder url="file://$MODULE_DIR$/pdk" />
  19. <excludeFolder url="file://$MODULE_DIR$/prebuilt" />
  20. <excludeFolder url="file://$MODULE_DIR$/prebuilts" />
  21. <excludeFolder url="file://$MODULE_DIR$/sdk" />
  22. <excludeFolder url="file://$MODULE_DIR$/system" />
  23. <excludeFolder url="file://$MODULE_DIR$/tools" />

接下来就找到android.ipr,使用android studio打开。

这里写图片描述

然后就是导入文件以及建立索引,时间不会太长, 因为我们已经排除了很多东西了。

配置环境

进入之后打开模块配置。
这里写图片描述

添加一个的jdk,选中自己的jdk目录就行了。然后清空classpath。
这里写图片描述
设置到API 23,如果没有23需要在sdk下载。
这里写图片描述

配置prioject
这里写图片描述
配置Modules属性
这里写图片描述
最后我们将多余的依赖全部移除,然后将external,frameworks,packages目录进行导入,如果弹框选择类型,我们选择sourcs源码类型,Android Studio这里显示会有问题,不用管。最终的几个依赖显示如下。
这里写图片描述
准备工作完成。

调试测试

首先需要启动API23的模拟器,真机的话应该除了谷歌的那几款都用不了,源码被定制过的,行数很可能发生变化,或者根本无法读取信息。

到了这里我才发现一个严重的问题attch to debug按钮居然不见了,最后无奈我使用快捷键来进行呼出。大家可以对应设置自己的快捷键。
这里写图片描述

选择对应的程序
这里写图片描述
最后在debug的窗口里输出类似于下面的话,就连接成功了,愉快的进行断点调试吧。

  1. Connected to the target VM, address: 'localhost:8601', transport: 'socket'

发表评论

表情:
评论列表 (有 0 条评论,310人围观)

还没有评论,来说两句吧...

相关阅读

    相关 Android studio断点调试

    如果使用断点调试 1.判断大概哪个地方出现了问题 2.在怀疑的代码旁加上断点 3.点击调试运行 4.程序到断点的地方停下来,接下来我们就一步步开始即可 5