Android Studio查看Android源码

最近在折腾面试,然后就有些组件的原理需要看源码,之前也弄过,都是用的Source Insight在win10里面搞的,今天试了一下Mac,源码60G,我这个版本是Android 11,目前是最新版的代码。

用AS看源码首先要构建项目配置文件,就是ipr和iml工具,用到Android源码里面的idegen工具,但是你用官方的mmm命令方法会报错,说文件格式不对,本来是可以用mmm命令直接生成的,但是Mac的文件系统跟官方要求的有问题,所以就放弃了,有想试试的同学可以执行下面的命令。

cd ~/aosp //具体的源码根目录
source build/envsetup.sh //用于初始化环境变量
mmm development/tools/idegen/  //生成文件out/host/linux-x86/framework/idegen.jar
./development/tools/idegen/idegen.sh//源码根目录生成文件android.ipr(工程相关设置), android.iml(模块相关配置)

反正我这条路没走通,用的野路子。

首先把目录切到development/tools/idegen/src下面,这样比较方便。

1、编译idegen的源码,把java文件编译成class文件

javac *.java  //aosp/development/tools/idegen/src


2、打包所有的class文件到可执行的jar文件中

jar cvfe idegen.jar Main *.class


3、把idegen.jar文件移动到android源码根目录
/aosp/idegen.jar
4、运行idegen.jar

java -jar idegen.jar


5、等待完成,成功后如下
Read excludes: 9ms
Traversed tree: 149984ms
6、在android源码跟目录检查android.iml和android.ipr文件
/aosp/android.iml
/aosp/android.ipr
7、用Android Studio打开ipr文件,等待AS构建索引文件,时间较慢

由于目录比较大,我的AS还在运行,等运行完成,我再来更新一下文章,看看整个过程需要多久,还有遇到的问题。