Android Studio阅读Android源码

  1. 先成功编译Android源码
  2. 源码根目录下执行命令mmm development/tools/idegen/
  3. 把这个文件copy到out/host/linux-x86/framework/目录下,在根目录下执行
  4. 源码根目录下执行命令development/tools/idegen/idegen.sh
  5. 上面三个步骤成功之后,会在源码根目录下生成2个文件,分别是android.iml和android.ipr (其实在根目录下还生成了一个.classpath隐藏文件),这就是Android Studio (IntelliJ IDEA)需要的配置文件。
  6. 把源码导入Android Studio: 
    先看下面的建议再导入吧,或许可以节省很多的导入时间~ 
    打开Android Studio -> File -> Open -> 打开android.ipr 
    就可把Android源码导入到Android Studio.

[建议]: 
由于整套Android源码非常庞大,把所有源码导入会非常非常非常(三遍)费时间,因而建议只把需要查看的部分源码导入(把不需要的部分源码排除)。方法是,打开上面提到的源码根目录下生成的android.iml,发现里面有这么几行<excludeFolder url="file://$MODULE_DIR$/./external/emma"/> 
<excludeFolder url="file://$MODULE_DIR$/./external/jdiff"/> 
<excludeFolder url="file://$MODULE_DIR$/out/eclipse"/> 
<excludeFolder url="file://$MODULE_DIR$/.repo"/> 
<excludeFolder url="file://$MODULE_DIR$/external/bluetooth"/> 
<excludeFolder url="file://$MODULE_DIR$/external/chromium"/> 
<excludeFolder url="file://$MODULE_DIR$/external/icu4c"/> 
<excludeFolder url="file://$MODULE_DIR$/external/webkit"/> 
<excludeFolder url="file://$MODULE_DIR$/frameworks/base/docs"/> 
<excludeFolder url="file://$MODULE_DIR$/out/host"/> 
<excludeFolder url="file://$MODULE_DIR$/out/target/common/docs"/> 
<excludeFolder url="file://$MODULE_DIR$/out/target/common/obj/JAVA_LIBRARIES/android_stubs_current_intermediates"/> 
<excludeFolder url="file://$MODULE_DIR$/out/target/product"/> 
<excludeFolder url="file://$MODULE_DIR$/prebuilt"/>
 
excludeFolder意思就是把对应的目录剔除,不导入工程的意思嘛。依样画瓢,假设我只需要看framework目录的源码,我就可以把其他目录全部去掉,例如在android.iml文件里面excludeFolder那些行后面添加<excludeFolder url="file://$MODULE_DIR$/abi"/> 
<excludeFolder url="file://$MODULE_DIR$/art"/> 
<excludeFolder url="file://$MODULE_DIR$/bionic"/> 
<excludeFolder url="file://$MODULE_DIR$/bootable"/> 
<excludeFolder url="file://$MODULE_DIR$/build"/> 
<excludeFolder url="file://$MODULE_DIR$/cts"/> 
...... 


不需要的文件夹统统用这种语法添加进去就好。


实现步骤非常简单:

1:编译idegen模块

源码要编过,不然idegen没法生成。

检查out/host/linux-x86/framework/目录下是否有idegen.jar
如果idegen.jar不存在,执行mmm development/tools/idegen/

把这个文件copy到out/host/linux-x86/framework/目录下,在根目录下执行   .  development/tools/idegen/idegen.sh

中间的执行过程大概6分钟,需要等一下,这里需要提一下,我的电脑配置是上周才加了一个120G的固态硬盘,一下子刚刚的,开机5S,Vmware之前打开Ubuntu要好久,现在只要十几秒,硬盘320个大洋,大家注意啦,不要1200,不要1200,只要320,只要320!!

查看目录,多了2个文件:android.ipr和android.iml。

2:导入到android studio

打开Android studio,点击File > Open,选择刚刚生成的android.ipr就好了。
过一会儿可以在android studio完美打开了,如前面的截图
 

猜你喜欢

转载自blog.csdn.net/mafei852213034/article/details/81741848