3

我的 Android 应用基于 Gradle,每次构建都需要很长时间。这是由于我拥有的模块数量。即使子模块没有变化,它也会不断重建每个源。我想知道是否有任何方法可以将这些模块转换为本地快照依赖项,因为我不经常更新它们?我很确定这是可能的,但我对 gradle 和 maven 有非常基本的经验,所以我想不出一个简单的方法来做到这一点。

基本上现在我正在列出我的依赖项:

dependencies {

    compile project(':Library:lib1')
    compile project(':Library:lib2')
    compile project(':Library:lib3')
}

我想使用类似的东西:

repositories {
    local()
}

dependencies {

    compile 'com.lib1:lib:SNAPSHOT-1.0')
    compile 'com.lib2:lib:SNAPSHOT-1.0')
    compile 'com.lib3:lib:SNAPSHOT-1.0')
}
4

1 回答 1

0

要使用本地快照,请使用maven-publish插件。如果您在版本中使用 SNAPSHOT(例如 0.0.1-SNAPSHOT),您会将快照发布到本地存储库。对于 lib1 的 build.gradle,您应该执行以下操作:

apply plugin: 'java'
apply plugin: 'maven-publish'

project.version=0.0.1-SNAPSHOT

publishing {
    publications {
        maven(MavenPublication) {
            from components.java
        }
    }
}

并运行 :publishMavenPublicationToMavenLocal 目标。

在您使用该库的项目的 gradle 构建文件中使用:

repositories {
    local()
}

dependencies {
    compile group: 'com.lib1', name: 'lib', version: 'SNAPSHOT-0.0.1', changing: true
}

“更改”属性表示不使用缓存版本(通常每 24 小时更新一次),但始终检查最新版本。

于 2013-12-17T09:44:42.963 回答