【聚看点】Android Studio源码导入与调试
从事Android开发都需要涉及到Android源码的阅读,特别是系统应用或者Framework开发,读代码的时间远远比写
2023-05-22【资料图】
从事Android开发都需要涉及到Android源码的阅读,特别是系统应用或者Framework开发,读代码的时间远远比写代码的时间更多。
在Android Studio中导入AOSP源码,需要利用以下配置文件:
在完成了AOSP的编译后,接下来可以在AOSP源码中生成上述配置文件,依次执行:
#配置环境source build/envsetup.shlunch #选择好target#编译idegenmmm development/tools/idegen/#生成ipr与iml文件development/tools/idegen/idegen.sh
执行上述指令后,回到AOSP根目录中生成android.iml
与android.ipr
文件。此时可以直接利用Android Studio
打开android.ipr
文件就可以直接完成导入。
第一次导入需要的时间会非常长,如果电脑配置不是很好,不建议全部导入,可以选择性导入需要的模块。此时可以修改android.iml文件,可以自定义只加载哪些模块。在android.iml中搜索excludeFolder
,根据需要去除掉不需要导入的模块,如只需要导入framework
模块,则配置iml如下:
完成修改后,再使用Android Studio打开ipr文件即可。后续如果需要增加或者排除其他模块,可以通过Android Studio进行配置。
完成导入后,当我们点击某个类如Activity,此时可能跳转至Android Studio中的SDK对应的class或者source。此时我们希望跳转到我们自己下载的AOSP源码中,还需要进行如下配置:如果发现通过界面移动依赖顺序无效,此时可以打开android.iml文件,找到orderEntry 配置,最终修改的配置结果为:
要调试代码,首先要打开模拟器,注意不是Android Studio自带的模拟器,而是通过编译后的代码启动的模拟器,否则可能出现代码不对应的问题。
source build/envsteup.shlunch x #和编译时对应#启动模拟器emulator
接下来通过Run->Attache debugger to Android process
,在弹出的Choose Process
框内必须选择Show all processes
,否则看不到相关的进程:然后选择system_process
,就可以进行调试了。