在上一节中我们成功编译了aosp源码并运行了模拟器。
做安卓的肯定都离不开AndroidStudio,那么我们能否将asop的源码导入到AndroidStudio中进行学习和开发呢?
答案是肯定的。
AIDEGen是一款Google提供的工具,用于自动化AOSP项目中的Java和C/C++IDE配置,帮助开发者快速设置项目,减少手动配置,提升开发效率。通过解析模块依赖并生成相应的IDE配置文件。
使用AndroidStudio查看源码
- 先编译sdk,执行以下代码
bash
source build/envsetup.sh
lunch sdk-eng
make sdk
lunch aosp_x86_64-eng
这个编译过程可能需要等待一下...
- 修改AndroidStudio的配置
我们先来打开我们的AndroidStudio配置一下大内存,这个应该做过android开发的都会吧。。。
首先加大idea VM内存:
打开IDEA 菜单栏 Help > Edit Custom VM Options,添加修改以下内容,这个要取决于你自己的机器:
diff
-Xms2g
-Xmx10g
然后是修改文件大小限制,打开区分大小写选项
打开IDEA 菜单栏 Help -> Edit custom properties, 添加
ini
idea.max.intellisense.filesize=100000
idea.case.sensitive.fs=true
修改完毕后重启AndroidStudio使配置生效。
- 使用aidegen配置打开项目
运行以下脚本自动通过aidegen配置我们的项目:
bash
mmma development/tools/idegen
sudo development/tools/idegen/idegen.sh
运行上面的脚本可能会报错,这是因为3.12版本的Python缺少distutils导致的。。。

我们可以通过将Python版本回退或者多版本共存的方式来解决这个问题。
安装以下python3.10
sql
sudo add-apt-repository ppa:deadsnakes/ppa
sudo apt update
sudo apt install python3.10 python3.10-venv python3.10-distutils
配置下多本版的问题:
bash
sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.12 1
sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.10 2
选择以下优先使用的版本:
sql
sudo update-alternatives --config python3
在这里我们按照提示选择优先使用python3.10即可。
然后使用AndroidStudio打开我们生成的 android.ipr 文件,由于工程很大,需要较长的时间建立索引,请耐心等待。
- 配置JDK
使用AndroidStudio打开android.ipr 文件后,需要配置一下我们的JDK和SDK,使得指向我们的aosp源码。
首先打开我们的项目配置,添加本地SDK:
jdk的目录在: aosp/prebuilts/jdk/jdk11/darwin-x86

然后配置SDK:

sdk的目录在: aosp/out/host/linux-x86/sdk/sdk/android-sdk_eng.fly_linux-x86
至此,我们就可以使用AndroidStudio愉快地带跳转阅读aosp的源码拉...
aidegen的功能可不止这么一种用法,它还有很多用法,比如它可以配置SDK中的C/C++代码然后使用CLion打开等等。。。
例如运行下面的代码会自动使用AndroidStudio打开我们的Settings源码。
css
aidegen Setting -i s
当然如果你觉得aosp的代码太庞大了,我们应该用远程开发,按么你也可以使用vscode等工具通过ssh的方式远程修改和阅读aosp的源码...
推荐
为了更加方便Framework的开发者,谷歌推出了framework专用的AndroidStudio,建议大家都使用Android Studio for Platform来进行aosp的调试与开发...
developer.android.com/studio/plat...
关注我,一起进步,人生不止coding!!!