【问题标题】:Exporting AOSP project into Android studio将 AOSP 项目导出到 Android Studio
【发布时间】:2020-10-04 11:50:36
【问题描述】:

我正在尝试使用 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 版本吗?

【问题讨论】:

    标签: android android-studio android-source


    【解决方案1】:

    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 有所帮助。

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

    【讨论】:

    • 我可以在 Linux 中安装 mmm 命令吗?有人可以写出“官方”步骤或将我链接到您信任的解释它们的页面吗?
    • 我安装了一些东西,但是现在当我运行 mmm 命令时,我得到以下错误: 无法创建模块查找器:查找器遇到 1 个错误:[:lstat:没有这样的文件或目录] 可能是什么原因造成的?
    • 这从未发生在我身上。你确定你已经完全下载了 repo 并且没有丢失文件吗?
    • 我初始化了完整的 repo。我是否应该完全同步它而不是一些选定的项目?我认为后者没问题,因为我只需要几个(消息传递和它附带的任何支持),并且获得每个项目都需要许多 GB 的磁盘空间。
    猜你喜欢
    • 2020-07-08
    • 1970-01-01
    • 2016-12-23
    • 2017-04-02
    • 1970-01-01
    • 2016-01-13
    • 2015-05-13
    • 2017-12-07
    • 1970-01-01
    相关资源
    最近更新 更多