Android Studio 查看Framework源码(AOSP)

前言:

       工欲善其事必先利其器,一套合适的开发工具可以有效的提高工作效率,作为一个懒惰的码农,为了舒舒服服的偷懒了,我试过很多工具,在AOSP我认为效率最高的工具非Vim莫属,Vim+Ctag+grep的组合,效率还是可以的,但是它们也有很多缺点,经常跳转出错,跟踪复杂的代码经常迷路,于是我就转战使用VS,丰富的插件让我眼花缭乱,Source Insight也是个强大的工具,但是在Ubuntu上需要装win虚拟机,并且出现不明所以的卡顿,最终我还是放弃了它,专情与AS,以下为本人使用AS的设置记录,仅供参考:

参考博客:

https://blog.csdn.net/u011578734/article/details/108339776

环境:

       Android studio for Ubuntu20.0.04

工具:

idegen工具

要将Android系统源代码工程导入到Eclipse或者IntelliJ IDEA,关键是要有相应的工程配置文件。

        idegen专门为IDE环境调试源码而设计的工具,idegen可以用来生成针对Eclipse和IntelliJ IDEA的Android系统源代码工程配置文件,它位于Android系统源代码工程目录的下列位置:

AS中导入AOSP源码

将工程导入AS需要下面三个步骤:

1.获取到idegen.jar

2.获取idegen.sh 执行生成android.ipr/android.iml

3.Android sutdio 选择android.ipr导入

生成android.ipr等文件

执行下面的命令即可生成android.ipr等文件:

cd ~/aosp //具体的源码根目录

source build/envsetup.sh //用于初始化环境变量

lunch aosp_arm64-eng

mmm development/tools/idegen/  //生成文件out/host/linux-x86/framework/idegen.jar

./development/tools/idegen/idegen.sh//源码根目录生成文件android.ipr(工程相关设置), android.iml(模块相关配置)

导入AndroidStudio

打开AS,点击File -> Open,选中前面生成的android.ipr文件即可,该过程比较耗时。

Android Studio 查看Framework源码(AOSP)_第1张图片

android.iml文件

        iml文件是idea组织工程的文件, 里面记录了各种记录模块, 文件夹以及依赖的信息。一般而言, 创建的工程都会有这个文件, 它的本质是一个工程组织文件, 和Maven的pom.xml, gradle的build.gradle, 等组织工程和处理依赖关系的文件并没有什么差别。

打开android.iml文件,我们会发现这个而文件配置项非常多,主要有类标签:

sourceFolder:表示包含的文件目录,通常我们只需要留下framewrok即可。

excludeFolder:exclude顾名思义就是不包含的意思。我们有很多目录直接就不想让Studio去管它,不管是索引还是什么等等,所以只需要将这些目录配置到中就好了。

如果已经把全部项目导入到Android Studio,又想删除怎么办,其实有一个简单的方法就是进入目录Project Structure -> Modules, 可快速去除某些模块, 其中红色代码Exclueded选项(即代表已删除的目录),我们只查看framework模块,所以其他模块的代码全部设置为 Exclueded,如下图:

Android Studio 查看Framework源码(AOSP)_第2张图片

AS中关联源码,实现代码跳转

android.ipr导入AS之后,等待一段时间项目构建过程。按默认配置即可,但是在配置完成后,AS运行一直很慢,而且还会出现卡顿,出现低内存的警报,经过排查发现是AS加载git的过程中一直再过度使用内存,因此我们需要在两方面进行修改

1.取消加载git,采取手动同步代码的方式sync代码,如下图:

Android Studio 查看Framework源码(AOSP)_第3张图片

2.加大AS运行内存

Android Studio 查看Framework源码(AOSP)_第4张图片

经过上述设置,使用AS查看framework源码就变的相当轻松了。

你可能感兴趣的:(linux,ubuntu,android)