1. AOSP源码导入到AndroidStudio
原文地址:http://www.androidcrack.com/index.php/archives/6/
⚠️ 在执行一下操作前, 请先完整的编译一次系统, 若不清楚如何编译系统. 请访问下面文章
http://www.androidcrack.com/index.php/archives/3/
1. 生成idegen.jar
source build/envsetup.sh
mmm development/tools/idegen/
2. 生成android.ipr和android.iml
development/tools/idegen/idegen.sh
这里比较遗憾,报错了, 提示我们最低安装Java9, 版本太高我也不敢升级.
我这里安装java11
sudo apt update
sudo add-apt-repository --remove ppa:webupd8team/java
sudo apt update
sudo apt install openjdk-11-jdk
再次执行就成功了. 此时在根目录可以看到2个文件
3. 编写iml文件
⚠️ 这步非常重要, 它将决定你代码的加载速度与代码跳转
3.1 排除不需要的包
增加excludeFolder
列表,排除不需要的源码路径.这样可以加快导入和创建文件索引的速度。在.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"/>
<excludeFolder url="file://$MODULE_DIR$/dalvik"/>
<excludeFolder url="file://$MODULE_DIR$/developers"/>
<excludeFolder url="file://$MODULE_DIR$/development"/>
<!-- <excludeFolder url="file://$MODULE_DIR$/device"/> -->
<excludeFolder url="file://$MODULE_DIR$/docs"/>
<excludeFolder url="file://$MODULE_DIR$/external"/>
<!-- <excludeFolder url="file://$MODULE_DIR$/hardware"/> -->
<excludeFolder url="file://$MODULE_DIR$/kernel"/>
<!-- <excludeFolder url="file://$MODULE_DIR$/libcore"/> -->
<excludeFolder url="file://$MODULE_DIR$/libnativehelper"/>
<excludeFolder url="file://$MODULE_DIR$/ndk"/>
<excludeFolder url="file://$MODULE_DIR$/out"/>
<excludeFolder url="file://$MODULE_DIR$/pdk"/>
<excludeFolder url="file://$MODULE_DIR$/platform_testing"/>
<excludeFolder url="file://$MODULE_DIR$/prebuilts"/>
<excludeFolder url="file://$MODULE_DIR$/sdk"/>
<!-- <excludeFolder url="file://$MODULE_DIR$/system"/> -->
<excludeFolder url="file://$MODULE_DIR$/tools"/>
<!-- <excludeFolder url="file://$MODULE_DIR$/vendor"/> -->
<excludeFolder url="file://$MODULE_DIR$/toolchain"/>
<excludeFolder url="file://$MODULE_DIR$/compatibility"/>
<excludeFolder url="file://$MODULE_DIR$/compatibility"/>
<excludeFolder url="file://$MODULE_DIR$/test"/>
3.2 删除所有orderEntry节点
删除所有<orderEntry type="module-library">...</orderEntry>
项。这些项是引用的源码中编译出来的jar包,如果保留,在浏览过程中查看类型跳转到这些jar中的class文件,而不是源码java文件。删除后,则可以直接跳转到源码文件。
说明:这些设置也可以在Android studio:project structure - project settings - modules - dependencies
中修改,速度比较慢,不如直接编辑.iml文件方便。
4. 导入AndroidStudio
在导入AndroidStudio前, 我们还需要修改个AndroidStudio的配置
1)Help - Edit custom Properties:
(对应配置文件:~/.config/Google/AndroidStudio$version/idea.properties)
idea.max.intellisense.filesize=100000
2)Help - Edit custom VM options:
(对应配置文件:~/.config/Google/AndroidStudio$version/studio64.vmoptions)
-Xms1g
-Xmx5g
做完这些操作,我们就可以愉快的把AOSP导入到AndroidStudio了. d