【发布时间】:2014-01-29 18:34:49
【问题描述】:
我有 Android 应用 A 和 B。我想将每个应用中的重复代码提取到共享库 L 中。如何使用 Gradle 来做到这一点?我之前看过这个问题的一些排列,但答案很少。
最接近/最好的已经问过的问题是这个:
Multiple Android apps depending on android library with gradle
第一个答案建议包含应用程序和库模块的父项目。这种耦合是不可取的,部分原因是 A、B 和 L 在它们自己的 Git 存储库中,但也因为它会涉及到有一个父项目和构建文件,这些文件很难放入源代码控制中(或者会涉及手动复制其他项目)。由于Android Studio默认喜欢单模块项目的父构建......好吧,对于应该是一个简单的家庭来说,它只是很多父母。在原本完全不相关的项目之间,这似乎真的是一种不必要的耦合。
第二个答案涉及将 AAR 发布到 repo 并在每个项目中引用远程库。我可以使用这种方法,因为我们有一个本地 Nexus 存储库,但是如果没有手动版本控制/命名和上传文件(这是不可持续的),似乎没有一种简单的方法可以做到这一点。我正在尝试使用 Sonatype gradle-release 插件,但它似乎适用于 JAR(不是 AAR)。
对于 Android 应用程序之间最基本的代码共享形式来说,这似乎是很多活动部件。谁有更好的解决方案?
【问题讨论】:
-
如果我走第二条路线,这似乎是相关的:vandalsoftware.com/post/52468430435/…
标签: android module gradle shared-libraries android-studio