使用AndroidStudio调试Framework源码

目前虽然谷歌推出了ASFP用于查看和调试源码,但是ASFP只能在Linux上使用,并且内存占用比AndroidStudio还高。所以,本文的目标就是直接使用AndroidStudio在Windows/Mac/Linux上查看和调试源码(不过这里仅能查看和调试Java代码),本文演示也是在Windows上演示的,可能在不同操作系统上有细微差异。

准备工作

1.首先我们肯定是要下载我们的源码了,因为Windows上不支持repo命令,所以我们只能直接通过git命令下载指定的仓库了,一般来说Framework大部分的Java源码都在frameworks/base这个仓库,所以我们这里就先下载frameworks/base仓库代码。这里建议大家在下载源码时,最好按照源码的目录结构来新建目录以及下载源码。比如我这里源码根目录就是:D:\aosp,所以我frameworks/base仓库的路径就是:D:\aosp\frameworks\base

2.源码下载好了,我们自然是需要一台user debug的Android设备了,然后我们需要执行如下命令:

bash 复制代码
adb root
adb shell setprop persist.debug.dalvik.vm.jdwp.enabled 1
adb reboot

然后我们等待设备重启即可。

配置AndroidStudio

1.首先我们先通过AndroidStudio的File-Open,直接打开我们的源码根目录,如下图所示

2.然后我们右键我们的根目录,点击Open Module Settings,如下图所示:

3.然后按照如下图所示操作,如果需要选择多个源码路径,重复第二步和第三步即可

操作完成以后会如图所示,选择完成以后记得点Apply。

4.选择完源码以后,我们还需要选择我们的SDK。这里选择SDK主要在你没有完全导入完源码的时候,方便你跳转查看代码。选择的原则就是和你源码的Android版本匹配即可。我这里就选择的是API 35,对应的就是Android15。

5.接着我们还需要让IDE能够优先识别我们的源码而不是SDK的代码,所以我们还需要按照如下操作执行一下,执行完也需要点击Apply按钮。

执行完成以后如下图所示:

6.这一步操作有时候做完以后,我们再次打开这个界面,发现SDK又跑到上面去了,这时候我们可以直接关闭AndroidStudio,在源码根目录下找到.idea文件夹,然后里面有个iml文件(大家记得打开隐藏文件夹显示)。我们手动改一下这个文件的内容即可,如下图所示:

调试源码

配置好AndroidStudio,我们就可以开始Debug我们的源码了,打断点这些操作就不复述了。下面就只讲一下如何开启Debug。

我们操作步骤还是Run-Attach Debugger to Android Process,如下图所示。

然后选择我们需要debug的进程即可,这里注意一下system_server进程实际是system_process。

最后附上一张Debug成功的截图:

相关推荐
明道源码14 小时前
Android Studio 代码编辑区域的使用
android·ide·android studio
Android小码家16 小时前
Android8.0+Camera2编译&烧录&源码研习
android·framework
明道源码20 小时前
Android Studio 应用运行到真机设备
android·ide·android studio
生莫甲鲁浪戴20 小时前
Android Studio新手开发第二十五天
android·ide·android studio
Varpb20 小时前
android studio-设置android模拟器屏幕自动旋转
android·android studio
Jeled2 天前
「高级 Android 架构师成长路线」的第 1 阶段 —— 强化体系与架构思维(Clean Architecture 实战)
android·kotlin·android studio·1024程序员节
G果2 天前
安卓APP页面之间传参(Android studio 开发)
android·java·android studio
明道源码2 天前
Android Studio 创建 Android 模拟器
android·ide·android studio
明道源码2 天前
Android Studio 使用教程
android·ide·android studio
生莫甲鲁浪戴2 天前
Android Studio新手开发第二十七天
前端·javascript·android studio