AndroidStudio导入Android AOSP源码

一、生成导入到AS所需的配置文件

1.1、切换到Android源码的目录,执行配置环境脚本

source build/envsetup.sh

1.2、执行lunch,选择对应产品

lunch

1.3、执行mmm development/tools/idegen

mmm development/tools/idegen

1.4、执行idegen.sh

./development/tools/idegen/idegen.sh

编译完成后,就可以在Android源码的根目录下看到android.iml和android.ipr文件了。

android.ipr:一般保存了工程相关的设置,比如 modules 和 modules libraries 的路径,编译器配置,入口点等。

android.iml:用来描述modules。它包括modules路径、 依赖关系,顺序设置等。一个项目可以包含多个 *.iml 文件。

二、生成导入到AS所需的配置文件

打开android.iml文件看看,默认把几乎所有的源码都导入了,只有几个文件夹被排除在外,工程将会非常大,而且会很耗时间。
然而我们并不关心这么多的源码,我们可以自己加excludeFolder标签,把自己不关心的目录写在这里,告诉AndroidStudio不要导入这个目录下的源码。

打开android.iml文件,以下是修改excludeFolder的所有配置:

<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 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$/rc_projects"/>
<excludeFolder url="file://$MODULE_DIR$/sdk"/>
<excludeFolder url="file://$MODULE_DIR$/system"/>
<excludeFolder url="file://$MODULE_DIR$/tools"/>
<excludeFolder url="file://$MODULE_DIR$/trusty"/>
<excludeFolder url="file://$MODULE_DIR$/u-boot"/>
<excludeFolder url="file://$MODULE_DIR$/vendor"/>
<excludeFolder url="file://$MODULE_DIR$/toolchain"/>
<excludeFolder url="file://$MODULE_DIR$/rkbin"/>
<excludeFolder url="file://$MODULE_DIR$/RKDocs"/>
<excludeFolder url="file://$MODULE_DIR$/rkst"/>
<excludeFolder url="file://$MODULE_DIR$/RKTools"/>
<excludeFolder url="file://$MODULE_DIR$/rockdev"/>
<excludeFolder url="file://$MODULE_DIR$/test"/>

三、打开as开始导入source code

File -> Open 选择源码目录刚刚生成的android.ipr就可以导入了
PS:一定要配置好JDK和SDK
在这里插入图片描述

四、体验文件搜索和跳转

4.1、文件搜索(连续按两次shift键)

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/u011557841/article/details/130348205