gpt4 book ai didi

android - 将 libgdx 项目导出为包含依赖项的 Android 库

转载 作者:行者123 更新时间:2023-11-29 02:42:23 26 4
gpt4 key购买 nike

我有两个独立的 Android 项目。一个是常规 Android 应用程序,另一个是 libgdx 项目。我的目标是能够将 libgdx 项目作为 Android 库编译成 aar 文件,这样我就可以在常规的非 libgdx Android 应用程序中使用它(我将从常规的 Android 项目开始 libgdx 游戏的 Activity ) .
libgdx 项目由几个模块组成(我只使用 androiddesktop 模块),所以在我的 libgdx 项目中我可以找到 3 个模块:android desktopcore(基本上整个游戏的代码都驻留在这里)。在 Android 上编译和运行游戏时,android 模块启动,但它使用 core 模块作为依赖项。

当尝试将 libgdx 项目更改为 Android 库项目并将其编译为 aar 时,它似乎缺少所需的依赖项(例如 core 模块,以及一些其他依赖项)。

如何从具有所有必需依赖项的 libgdx 项目创建 aar 文件?

最佳答案

所以最终我设法找到了解决问题的方法。
让我们从我的第一印象是误导的事实开始,我遇到的问题不是 libgdx 特定问题,而是 gradle“问题”。
简而言之,其背后的原因是 aar/jar 文件不包含传递依赖项,并且没有描述库使用的依赖项的 pom 文件。要克服这种行为,您需要以某种方式指定项目中的依赖项。您可以在 2 种方法之间进行选择:

第一种方法:
您可以使用中央存储库(例如 JCenter)并将项目发布为库。在这种情况下,gradle 将能够使用包含依赖项列表的 pom 文件下载依赖项。

第二种方法:
您需要手动将所有依赖项复制到 libs 文件夹。您可以通过编写一个小的 gradle 任务相对轻松地完成此操作:

task copyCompileDependenciesToLibs(type: Copy) {
def libsPath = project.projectDir.toString() + "/libs"

from configurations.compile
into libsPath
}

此代码段会将您的所有依赖项复制到 libs 文件夹,一旦您编译了库项目,这些依赖项就会包含在内。

关于android - 将 libgdx 项目导出为包含依赖项的 Android 库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43187117/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com