首页 > 解决方案 > 将 AOSP 项目导出到 Android Studio

问题描述

我正在尝试使用 Android Studio 构建 Android 默认消息应用程序的增强版本,其 AOSP 源代码可以在以下位置找到:

https://android.googlesource.com/platform/packages/apps/Messaging/

我怎样才能将此 AOSP 脚本转换为 Gradle 构建?我尝试按照他们在此类文档中提供的说明进行操作:

https://android.googlesource.com/platform/development/+/master/tools/idegen/README

同时使用 Linux 和 Windows,但我似乎从未获得 IDEGen 包。当我在 Eclipse 中尝试它时,正如一些消息来源所建议的那样,我收到了关于构建路径的难以解决的抱怨。这归因于 IDE 中的一些烦人的错误。

从我在 Quora 和其他地方看到的各种其他问题来看,在过去的十年里,很多人都在为这个问题而苦苦挣扎。

有没有直接的解决方案?也许有人可以推荐一个值得信赖的工具来将 AOSP 转换为 Android 版本吗?

标签: androidandroid-studioandroid-source

解决方案


idegen是生成项目文件(.ipr)的工具,以便您可以在 IntelliJ 中打开整个 AOSP。然后,您可以导航和编辑所需模块的文件。

要仅构建一个应用程序,您可以使用mmm packages/apps/Messaging.

这是官方的方式,以及我们使用操作系统的方式。

没有工具可以将单个模块导出到 Android Studio,因为这些模块通常也依赖于其他模块,并且经常使用非公共 API(@hide 注释的方法和未在官方 SDK 中导出的类) .

做到这一点并非不可能。只是没有任何自动导入可以为您完成所有工作,并且需要做一些工作。一些建议:

  • 手动导入类和资源(将 src 和 res 文件夹复制到一个空的 Android Studio 文件夹)
  • 检查 Android.mk 的依赖项,通过 gradle 中的标准方式添加您可以添加的内容。否则,您必须手动将它们添加为库 ( .jar/.so )。
  • 如果由于某些类或包不是官方 SDK 的一部分而导致找不到某些类或包的错误,请参阅此内容。通常很难像这样在树外构建它们。这可能对一些参考有所帮助https://github.com/anggrayudi/android-hidden-api

第一种方法简单易行。导入的方式会很麻烦,但是做了之后,开发起来就容易多了。


推荐阅读