Android Studio 源码导入 - orangetell/Android-aosp-diss GitHub Wiki

Android Studio导入源码比较关键的需要有android.ipr和android.iml这两个文件,

而这两个文件对于不同android版本不一样,且只有在编译后的源码环境下,才能编译生成,不过不用担心

aosp-for-as这里你可以找到已经准备好的5.0.1到9.0.0所有版本所需的文件

(注:6.0以及6.0以上是使用jdk8进行编译的,5.0和5.1只能使用jdk7)

android.ipr和android.iml生成

1. 源码下载与编译

官方教程:https://source.android.com/setup/build/requirements(建议使用Ubuntu 16.0.4.5 LTS版本)

2. ipr和iml生成

源码根目录执行如下命令即可

source build/envsetup.sh
mmm development/tools/idegen/
# wait for minute
. development/tools/idegen/idegen.sh
# wait for several minute

Android Studio 配置与导入

1. 编辑android.iml文件,去掉一些不需要的代码

将不需要的代码 sourceFolder 改成 excludeFolder,例如:

将<sourceFolder url="file://$MODULE_DIR$/./art/test/004-JniTest/src" isTestSource="true"/>

改为<excludeFolder url="file://$MODULE_DIR$/./art/test/004-JniTest/src" isTestSource="true"/>

下面列了我们不需要的代码:

/test/、/cts/、/out/、/platform_testing/、/prebuilts/(可选)、/external/autotest/、

2. 使用AS打开android.ipr文件,然后耐心等待加载完成(一个小时左右)

3. 配置SDK相关环境变量

打开 Module Settings 会有一个Problems提示

根据提示点击打开,并修改 Project SDK 为 1.8(java version "1.8.0_152-release") (这里我导入的是Android9.0的源码,并且是使用jdk8编译的) ,点击Apply应用即可

(注:6.0以及6.0以上是使用jdk8进行编译的,5.0和5.1只能使用jdk7)

点击 Modules -> Dependencies 确认 Module SDK 为 Project SDK(1.8) ,并删除 Module source 和 1.8(java version "1.8.0_152-release")以外所有的内容