如何将自行编译的Android 8.0 AOSP ROM添加为IntelliJ的Android SDK?
作为折腾过AOSP+IntelliJ配置的过来人,我完全懂你刚编译完Android 8.0源码,盯着out目录一堆文件一脸懵的感觉!下面是我亲测有效的实操步骤,帮你把自己编译的自定义ROM作为SDK导入IntelliJ,不用再下载官方SDK:
第一步:从编译好的AOSP中提取SDK包
- 先回到你的AOSP根目录,找到
./out/host/linux-x86/sdk路径(如果是Windows编译的话路径会是./out/host/windows-x86/sdk,不过Android 8.0大多是在Linux环境下编译的)。这里面会有一个编译生成的SDK压缩包,名字一般是android-sdk_eng.xxx_linux-x86.zip这种格式。 - 把这个zip包解压到你想存放自定义SDK的目录,比如
~/custom-aosp-sdk/android-8.0,注意路径里别带中文或者特殊字符,避免后续出问题。
第二步:在IntelliJ中添加自定义SDK
- 打开IntelliJ,按下快捷键
Ctrl+Alt+Shift+S打开「Project Structure」窗口(或者通过菜单栏File > Project Structure进入)。 - 在左侧面板的「Platform Settings」下选择「SDKs」,点击右上角的
+按钮,选择「Android SDK」。 - 在弹出的配置窗口里,「Android SDK location」选择你刚才解压好的自定义SDK目录,然后点击「Next」。
- 这时候IntelliJ会自动扫描并识别SDK里的组件(比如platform、build-tools这些),因为是我们自己编译的完整ROM对应的SDK,所有必要组件都已经包含了,直接点击「Finish」完成配置就行。
第三步:给项目指定自定义SDK
新建项目时配置
- 启动新建项目向导,选择「Phone and Tablet」后,在「Compile SDK」的下拉菜单里找到我们刚添加的Android 8.0 SDK(显示名称可能是「Android 8.0 (API 26)」或者带有自定义标识的名字),后续按照正常流程创建项目即可。
现有项目修改配置
- 同样打开「Project Structure」窗口,在「Project Settings > Project」里,把「Project SDK」切换为我们的自定义AOSP SDK;
- 再切换到「Modules」选项卡,找到对应的项目模块,把「Compile SDK Version」和「Build Tools Version」都改成自定义SDK里的版本,保存设置就生效了。
一些踩坑后的注意事项
- 如果你的SDK目录里没有找到那个zip包,大概率是编译的时候没生成SDK组件,回到AOSP根目录执行
make sdk重新编译,就能生成完整的SDK包了。 - 自定义SDK的build-tools版本可能会显示为
26.0.0-eng.xxx这种带编译标识的版本,这是正常的,IntelliJ能正常识别使用,不用纠结和官方版本的差异。 - 如果导入后出现奇怪的缓存问题,比如代码提示异常,试试清理IntelliJ缓存:
File > Invalidate Caches... > Invalidate and Restart,重启后一般就能解决。
内容的提问来源于stack exchange,提问作者Evan.zz
相关产品推荐
相关产品推荐

