使用 Android Studio 开发 AOSP

Posted

技术标签:

【中文标题】使用 Android Studio 开发 AOSP【英文标题】:Developing AOSP with Android Studio 【发布时间】:2017-02-08 10:37:47 【问题描述】:

我正在尝试设置一个开发环境来对 AOSP 源代码进行一些自定义修改,并希望使用 android Studio 作为我的 IDE。然而,在完成必要的步骤后,Android Studio 似乎无法识别某些类和方法。我做错什么了吗?以下是我所做的简要说明:

我根据官方文档为克隆和构建 AOSP 做了必要的准备(依赖等)。之后,我使用 repo 克隆了 AOSP 7.1.1-r11 分支,然后运行以下命令:

$ source build/envsetup.sh
$ lunch aosp_arm-eng
$ make
$ mmm development/tools/idegen/
$ development/tools/idegen/idegen.sh

make 花了我大约一个小时,运行 idegen.sh 花了我大约 5 秒。

idegen.sh 生成了一个 android.ipr 文件,我在 Android Studio 中成功导入了该文件。当提示选择 SDK 时,我选择了 openjdk 1.8.0_121 并删除了类路径中的所有库,如 idegen 自述文件中所示。

在让 Android Studio 运行初始导入操作后,我继续从电话框架中打开 PhoneFactory.java,我想在其中进行修改。这是我遇到问题的地方:有几十个方法是红色的(无法解决)。

我确信我克隆 AOSP 的方式没有问题,因为 make 可以正确通过。有什么想法吗?

【问题讨论】:

+1 这是我也遇到的一个问题,因为我将 AOSP 与 android-studio 一起使用(但从未找到解决方案)。 我在source.android.com 上没有看到Android Studio 说明。我的假设是这还不被支持。话虽如此,我不做完整的固件构建,更不用说使用 IDE。 我已经按照 idegen 工具附带的自述文件进行操作:link @AlexisSorokine 你有没有尝试对 Eclipse 做同样的事情?恐怕android-studio还不支持。 我尝试在 Eclipse 中做同样的事情,但仍然遇到一堆错误。 【参考方案1】:

我总是毫无问题地使用这些步骤:

https://shuhaowu.com/blog/setting_up_intellij_with_aosp_development.html

对您的问题最重要的部分是:

设置没有库的 SDK 在项目结构 -> 模块 -> 删除所有以 .jar 结尾的依赖项 作为奖励:转到 Sources 选项卡并浏览至 out/target/common/R。右键单击它并单击源

在链接中,您可以看到可以使步骤更易于执行的屏幕截图。

【讨论】:

+Olaia 这些步骤不再适用于 AS 3.1,请参阅 ***.com/questions/50415724/… @likejiujitsu,我从来没有使用过 AS 来构建属于 AOSP 的模块,总是从终端进行源代码构建/环境设置和午餐。我仍在使用这些步骤来打开 AOSP 源代码并浏览它。

以上是关于使用 Android Studio 开发 AOSP的主要内容,如果未能解决你的问题,请参考以下文章

Android 11使用Android Studio调试系统应用:编译服务器的配置AOSP源码的下载编译运行

使用Android Studio调试安卓系统源代码:将AOSP源码整体导入到AS

Android Studio 导入 AOSP 源码

macOS(Sierra 10.12)上Android源码(AOSP)的下载编译与导入到Android Studio

Android Studio:解决AOSP自编译framework.jar引用不到的问题

Android Studio:解决AOSP自编译framework.jar引用不到的问题