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

相关推荐
vsropy1 小时前
Ubuntu网络图标消失问题/有网络问号
linux·运维·ubuntu
coderwu1 小时前
Ubuntu 24.04 终端输入 openclaw config 提示未找到命令解决办法
linux·运维·ubuntu
学途路漫漫11 小时前
Ubuntu 24.04 国内网络环境全面优化指南
linux·网络·ubuntu
S-码农11 小时前
vscode 通过 SSH 远程控制 Ubuntu
vscode·ubuntu·ssh
dust_and_stars11 小时前
Ubuntu 24.04 使用 Snap 安装 code-server、CLion、PyCharm、JetBrains Toolbox 完整教程
ubuntu·pycharm
学途路漫漫11 小时前
Ubuntu 24.04 安装 Howdy 面部识别登录完整指南(含国内网络环境踩坑)
ubuntu
火山上的企鹅12 小时前
Codex实战:APP远程升级服务搭建(二)阿里云ECS部署Node升级服务_Ubuntu_systemd_Nginx
nginx·ubuntu·阿里云·qgc
承渊政道12 小时前
【MySQL数据库学习】(MySQL内置函数)
数据库·学习·mysql·ubuntu·bash·数据库开发·数据库系统
帅次13 小时前
Android 16(API Level 36)Activity 启动流程源码级解析
android·framework·源码解析·activity启动流程·android 16
2601_961845421 天前
法考真题及答案解析|历年真题|资料已整理
linux·windows·ubuntu·macos·centos·gnu