为什么Gradle 3.4.0打破了我的依赖关系?

时间:2019-04-26 10:00:11

标签: android android-gradle artifactory

当我将gradle升级到3.4.0时,它打破了对JFOG存储库中我们的自定义库的依赖。

应用级别

classpath 'com.android.tools.build:gradle:3.3.2' > classpath 'com.android.tools.build:gradle:3.4.0'
classpath 'org.jfrog.buildinfo:build-info-extractor-gradle:4.9.5'

模块水平

apply plugin: "com.jfrog.artifactory"

dependencies {
    implementation "com.xxx.yyy:zzz:1.0.0@aar"
}

artifactory {
    contextUrl = "${artifactory_contextUrl}"   
    resolve {
        repository {
            repoKey = 'libs'
            username = "${artifactory_user}"
            password = "${artifactory_password}"
            maven = true
        }
    }
}

错误:无法解决:com.xxx.yyy:zzz:1.0.0

因此,我无法进行构建。知道为什么吗?

2 个答案:

答案 0 :(得分:0)

我解决了从上下文URL显式添加Maven存储库的问题,因为显然artifactory{...}没有添加它。 记住要添加所有其他存储库来代替三个点(通常jcenter()google()就足够了,但这取决于您项目的实际依赖性)

allprojects {
    apply plugin: "com.jfrog.artifactory"
    repositories {
        maven {
            url "${artifactory_contextUrl}/maven"
            credentials {
                username = "${artifactory_user}"
                password = "${artifactory_password}"
            }
        }
       ...
}

答案 1 :(得分:0)

我终于找到了解决方案。它似乎是Android Studio 3.4 / 3.5的错误,并且已通过禁用“修复”:

文件→设置→实验→Gradle→仅同步活动版本