Android studio导入Android源码(AOSP Android 14)
1. 完整编译AOSP源码
有些java文件是在编译过程中动态生成的,需要完整编译一遍,源码的依赖才能完整。
$ source build/envsetup.sh$ make -j20
2. 生成IDE导入的工程文件
$ source build/envsetup.sh$ make idegen# 或者 mmm development/tools/idegen/$ development/tools/idegen/idegen.sh
执行完成后,在AOSP根目录下生成文件:
android.iml # 导入前需先编辑这个文件android.ipr # 在Android studio中打开这个文件,导入源码工程
3. 导入前,编辑工程文件
(这步很重要,影响代码的加载速度和跳转)
编辑android.iml文件,需要修改2部分内容:
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$/docs"/><excludeFolder url="file://$MODULE_DIR$/external"/><excludeFolder url="file://$MODULE_DIR$/kernel"/><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$/tools"/><excludeFolder url="file://$MODULE_DIR$/toolchain"/><excludeFolder url="file://$MODULE_DIR$/compatibility"/><excludeFolder url="file://$MODULE_DIR$/compatibility"/><excludeFolder url="file://$MODULE_DIR$/test"/>
说明:也可以通过修改development/tools/idegen/excluded-paths文件,增加排除的路径。
2)删除所有
项。这些项是引用的源码中编译出来的jar包,如果保留,在浏览过程中查看类型跳转到这些jar
中的class
文件,而不是源码java
文件。删除后,则可以直接跳转到源码文件。
说明:这些设置也可以在Android studio:project structure - project settings - modules - dependencies中修改,速度比较慢,不如直接编辑.iml文件方便。
例如:
<orderEntry type="module-library"> <library> <CLASSES> <root url="jar://$MODULE_DIR$/./AMSS/lagvm/LINUX/android/out/target/product/prodname/system/framework/locksettings.jar!/" /> CLASSES> <JAVADOC /> <SOURCES /> library>orderEntry><orderEntry type="module-library"> <library> <CLASSES> <root url="jar://$MODULE_DIR$/./AMSS/lagvm/LINUX/android/out/target/product/prodname/system/framework/framework.jar!/" /> CLASSES> <JAVADOC /> <SOURCES /> library>
4. 在Android Studio中导入工程
在Android Studio中open打开上面生成的android.ipr文件。如果完成了上面的编辑,并且仅保留所需的源码目录,加载时间会比较短。
加载完成后,可以完整的浏览、编辑代码了。
当关闭AS时,会把当前的配置和索引保存到文件android.iws中。以后再次打开工程就会很快。
修改Android Studio配置参数:
1)Help - Edit custom Properties: (对应配置文件:~/.config/Google/AndroidStudio$version/idea.properties)idea.max.intellisense.filesize=1000002)Help - Edit custom VM options:(对应配置文件:~/.config/Google/AndroidStudio$version/studio64.vmoptions)-Xms1g-Xmx5g
如果修改参数错误,导致studio不能正常启动,可以手动编辑对应的配置文件,删除或者调整相关参数。
来源地址:https://blog.csdn.net/yinminsumeng/article/details/131144369
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341