Android Studio导入aosp源码

1、在 Ubuntu 系统下,进入源码根目录,运行如下命令:

source build/envsetup.sh # 初始化环境变量。

lunch sdk_phone_x86_64

make idegen -j6 # 六核编译 idegen 模块

忽略此命令:mmm development/tools/idegen/ # 此命令可以不执行(同make idegen命令)如果之前已经对整个系统进行过编译,此处使用mmm命令,用于生成idegen.jar

development/tools/idegen/idegen.sh # 源码根目录生成文件 android.ipr (工程相关设置)和 android.iml (模块相关配置)

如果提示权限问题(Permission denied),可以忽略, 不影响ipr和iml文件生成

=====实际操作可行

source build/envsetup.sh

lunch aosp_x86-eng # 或者直接输入lunch,然后选择对应的target

make idegen

development/tools/idegen/idegen.s

跳转,查看源码问题

https://blog.csdn.net/weixin_53620063/article/details/123634332

其他方式======加载源代码到 AndroidStudio

执行以下四条命令:

". build/envsetup.sh" (source可以用 .代替,即". build/envsetup.sh")

"lunch",并选择要编译的项目

"make idegen -j4" (这里的 -j4表示用 4线程来编译,可以不加)

"development/tools/idegen/idegen.sh" (报错find: 'out/target/product/generic_x86_64/root/d': Permission denied没有关系不影响ipr和iml文件生成)

会在根目录下生成 android.iml 和 android.ipr 这两个文件,这两个文件是 Android Studio 的工程配置文件,这时候其实已经可以直接导入 Android Studio,但会导入所有的源码模块,会很慢,可以进行过滤,除了 frameworks 模块和 packages 模块,其他都给过滤掉,不导入 Android Studio,打开 android.iml 文件,搜下excludeFolder,在后面加入如下代码:

```

<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/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/test" />

<excludeFolder url="file://MODULE_DIR/toolchain" />

<excludeFolder url="file://MODULE_DIR/tools" />

<excludeFolder url="file://MODULE_DIR/.repo" />

```

3、导入 Android Studio

打开 Android Studio,选择 Open an existing Android Studio project,找到源码目录,点击 Android.ipr,Open,大约等 6 分钟,导入完毕,Enjoy coding。

4、问题

发现 Android Studio 不停 scanning files to index,我的强迫症又犯了,解决:

1 invalidate and restart 不起作用;

2 右击项目 --> Open module setting --> Modules --> 找到 gen 文件夹 --> 右键选择 Resources,终于告别烦人的 scanning files to index。

5、拓展(如果系统中存在多个jdk版本,可以指定)

sudo update-alternatives --config java

输出:

有 2 个候选项可用于替换 java (提供 /usr/bin/java)。

选择 路径 优先级 状态


* 0 /usr/lib/jvm/java-11-openjdk-amd64/bin/java 1101 自动模式

1 /usr/lib/jvm/java-11-openjdk-amd64/bin/java 1101 手动模式

2 /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java 1081 手动模式

要维持当前值[*]请按<回车键>,或者键入选择的编号:2

相关推荐
Maki Winster1 小时前
Peek-Ubuntu上Gif录制工具-24.04LTS可装
linux·ubuntu·peek
Maki Winster2 小时前
在 Ubuntu 下配置 oh-my-posh —— 普通用户 + root 各自使用独立主题(共享可执行)
linux·运维·ubuntu
Imagine Miracle5 小时前
Ubuntu for ARM 更换为阿里云镜像源
arm开发·ubuntu·阿里云
花王江不语16 小时前
android studio 配置硬件加速 haxm
android·ide·android studio
kikikidult19 小时前
(2025.07)解决——ubuntu20.04系统开机黑屏,左上角光标闪烁
笔记·ubuntu
BD_Marathon21 小时前
Ubuntu:Mysql服务器
服务器·mysql·ubuntu
0wioiw01 天前
Ubuntu基础(监控重启和查找程序)
linux·服务器·ubuntu
Tipriest_1 天前
Ubuntu常用的软件格式deb, rpm, dmg, AppImage等打包及使用方法
linux·运维·ubuntu
GBXLUO1 天前
windows的vscode无法通过ssh连接ubuntu的解决办法
vscode·ubuntu
笑衬人心。1 天前
Ubuntu 22.04 修改默认 Python 版本为 Python3 笔记
笔记·python·ubuntu