Android Studio

时间:2016-12-01 23:27:19

标签: java android android-studio gradle

我有几个项目共享一些本地开发的图书馆;随着使用它们的应用程序的增长,这些库从静态到灵活更新都有所不同。

为了调试/更新目的,将它们作为我项目的一部分是很有用的(当发布新的库版本时,如果在运行主应用程序项目时发现错误,我可以根据需要测试/更新库)。

对于构建目的而言,重建项目时它也会重建(有时是大型)库,这很痛苦。

从我的角度来看,如果某些库可以设置为不重建或清理,除非明确完成,否则这将是理想的。或者,如果我可以在JAR / AAR库与完整模块之间切换它们。

此时我想知道是否有更好的方法。

因此,如果您想在项目中包含库(用于编辑/更新)但不希望它一直在重建,有没有办法,最佳做法是什么?

FWIW,我目前的基本结构是:

MainApp

  • 平台特定代码
  • 应用程序库(通常是应用程序特定的平台独立代码)
  • Local Utils lib(可以是相当动态的,但通常可以持续数天/数周而无需更改)
  • 其他本地实用程序(相当静态,偶尔更新)

1 个答案:

答案 0 :(得分:0)

您可以将库作为单独的项目,然后使用库中的maven plugin将其安装为本地工件。阅读更多Deploying an Artifact to the Local Cache in Gradle

在您的项目中,您需要将mavenLocal()添加到根build.gradle中的存储库:

repositories {
  mavenCentral()
  mavenLocal()
}

并将依赖项添加到项目build.gradle:

dependencies {
  ...
  compile 'com.your.library:x.y.z'
  ...
}

但是如果您的项目在本地网络中共享,则需要使用Artifactory by JFrogNexus Repository Manager by Sonatype等存储库管理。