gpt4 book ai didi

android - 使用 Gradle 在多个 Android 应用程序之间共享 Android 库

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:14:14 25 4
gpt4 key购买 nike

我有 Android 应用程序 A 和 B。我想将每个应用程序的重复代码提取到共享库 L 中。如何使用 Gradle 执行此操作?我以前看过这个问题的一些排列组合,但答案很少。

最接近/最好的已经问过的问题是这个:

Multiple Android apps depending on android library with gradle

第一个答案 建议一个包含应用程序和库模块的父项目。这种耦合是不可取的,部分原因是 A、B 和 L 在它们自己的 Git 存储库中,而且还因为它涉及到父项目和构建文件,这些文件很难放入源代码控制(或涉及手动复制其他项目)。由于 Android Studio 默认情况下喜欢单模块项目的父构建......好吧,对于应该是一个简单家庭的东西来说,它只是很多 parent 。这看起来真的像是在其他方面完全不相关的项目之间不必要的耦合。

第二个答案涉及将 AAR 发布到存储库并在每个项目中引用远程库。我会接受这种方法,因为我们有一个本地 Nexus 存储库,但似乎没有一种简单的方法可以在不手动版本控制/命名和上传文件的情况下执行此操作(这是不可持续的)。我正在尝试使用 Sonatype gradle-release 插件,但它似乎适用于 JAR(而非 AAR)。

对于 Android 应用程序之间最基本的代码共享形式来说,这似乎有很多移动部分。有没有人有更好的解决方案?

最佳答案

根据Android官方文档(https://developer.android.com/studio/projects/android-library.html):通过导入模块,库模块被复制到你的项目中,所以你可以实际编辑库代码。如果您想维护库代码的单一版本,那么这可能不是您想要的,您应该改为导入编译后的 AAR 文件,如上所述。

还有一个选项,git submodule。您可以让您的应用程序引用您的库的 SHA。所以图书馆只有一份。每个应用仅使用 SHA。图书馆的分馆管理要多注意一点。检查此详细信息:https://github.com/blog/2104-working-with-submodules

关于android - 使用 Gradle 在多个 Android 应用程序之间共享 Android 库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21050212/

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