- 先成功编译Android源码
- 源码根目录下执行命令
mmm development/tools/idegen/
- 把这个文件copy到out/host/linux-x86/framework/目录下,在根目录下执行
- 源码根目录下执行命令
development/tools/idegen/idegen.sh
- 上面三个步骤成功之后,会在源码根目录下生成2个文件,分别是android.iml和android.ipr (其实在根目录下还生成了一个.classpath隐藏文件),这就是Android Studio (IntelliJ IDEA)需要的配置文件。
- 把源码导入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完美打开了,如前面的截图