gpt4 book ai didi

android - 使用Android Studio和gradle时是否可以在项目之间共享库项目?

转载 作者:行者123 更新时间:2023-11-29 00:27:51 25 4
gpt4 key购买 nike

我正在努力弄清楚如何以一种使它们可用于多个项目的方式将库项目导入 Android Studio。新构建系统的文档暗示您需要将库项目导入到您正在处理的项目的根目录中:

Gradle projects can also depend on other gradle projects by using a multi-project setup. A multi-project setup usually works by having all the projects as sub folders of a given root project (http://tools.android.com/tech-docs/new-build-system/user-guide#TOC-Multi-project-setup)

这是有问题的,因为正如我上面提到的,我想让所有当前和 future 的项目都可以访问常用的库。例如,我目前正在尝试将 Volley 集成到一个新项目中以对其进行评估,并假设我将来想在多个其他项目中使用它。我将它克隆到我的“${PROJECT_ROOT}/”文件夹中,该文件夹与我创建测试项目的级别相同,给了我:

${PROJECT_ROOT}/测试项目/测试
${PROJECT_ROOT}/截击

在尝试以各种方式设置我的项目的 build.gradle 文件后,我设法编译应用程序的唯一方法是将 Volley 移动到 TestProject 的“主”项目中,给我:

${PROJECT_ROOT}/测试项目/测试
${PROJECT_ROOT}/TestProject/volley

这不仅会阻止我在不属于 TestProject 的其他项目中使用 Volley,而无需复制它或再次克隆它,而且这意味着 git 希望我将它添加到我在测试项目的根。

如何在我的 Android Studio 项目中引用库项目而不将它们包含在项目本身中?

最佳答案

你不能在子模块中使用 git 吗?例如在您的 .gitmodules 文件中,您可以添加以下内容:

[submodule "volley"]
path = volley
url = https://path/to/volley/repository

您可以将 url 设置为 Volley 的官方存储库,或者您自己的内部版本的 volley。其他项目可以以相同的方式设置并指向相同的 volley 存储库。

我认为这样一来,其他用户可以调用git clone,所有依赖项目都将下载到主项目文件夹中,他们不必担心单独下载库项目。

不过,对于 Volley,我只是将其编译成 JAR 文件并将其粘贴到主项目的/libs 文件夹中。也就是说,如果你不需要修改它的源。

[更新]对于不需要修改源码的库项目,可以尝试使用Android Studio编译成AAR文件进行分享。 AAR 文件就像 Android 的 JAR 文件,因此您可以将它们添加到您的/lib 源文件夹,或将它们发布到您的本地/内联网 maven 存储库。如果您选择 maven 路线,请在 build.gradle 中添加您的本地/内网存储库,并引用您已发布的库项目。

希望将来有更多的库项目所有者将他们的项目构建成 AAR 文件并将它们发布到 Maven 中央存储库,这样我们就可以直接从 build.gradle 文件中引用它们。

关于android - 使用Android Studio和gradle时是否可以在项目之间共享库项目?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18069080/

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