替换AndroidGradle存储库中的jcenter()

根据JFrog,他们将在 2021 年 5 月 1 日淘汰 Bintray(包括 JCenter)。

为了为此做准备,我打开了我的build.gradle并替换jcenter()mavenCentral(). 我build.gradle现在看起来像这样(删除了一些部分):

buildscript {
    repositories {
        google()
        // jcenter()
        mavenCentral()
    }

    dependencies {
        // ...
    }
}

allprojects {
    repositories {
        google()
        // jcenter()
        mavenCentral()

        maven {
            url "https://jitpack.io"
        }
    }
}

但是,自从用 替换jcenter()mavenCentral(),我收到此错误:

A problem occurred configuring root project 'Redacted'.
> Could not resolve all artifacts for configuration ':classpath'.
   > Could not find org.jetbrains.trove4j:trove4j:20160824.
     Searched in the following locations:
       - https://dl.google.com/dl/android/maven2/org/jetbrains/trove4j/trove4j/20160824/trove4j-20160824.pom
       - https://repo.maven.apache.org/maven2/org/jetbrains/trove4j/trove4j/20160824/trove4j-20160824.pom
     Required by:
         project : > com.android.tools.build:gradle:4.1.2 > com.android.tools.build:builder:4.1.2 > com.android.tools:sdk-common:27.1.2

Possible solution:
 - Declare repository providing the artifact, see the documentation at https://docs.gradle.org/current/userguide/declaring_repositories.html

我可以添加另一个存储库来解决这个问题,还是com.android.tools:sdk-common需要更新以使用不同版本的org.jetbrains.trove4j:trove4j

更新:版本 4.1.3 仍然存在相同的问题。

回答

JetBrains 已复制 org.jetbrains.trove4j:trove4j:20160824到 Maven Central,从而解决了此错误。

如果您使用尚未迁移到 Maven Central 的其他依赖项,您应该直接联系他们。


更新: “我们听取了社区的意见,并将无限期地将 JCenter 保留为只读存储库。我们的客户和社区可以继续依赖 JCenter 作为 Java 包的可靠镜像。” 来源

更新: Google 正在修复构建工具 4.2 和 4.1。来源

更新:您可以尝试使用依赖项解析规则。


顶级依赖项com.android.tools.build:gradle开始使用较新版本的trove4jin 7.0.0-alpha01。(7.0.0-alpha12目前是最新的。)

依赖链:
com.android.tools.build:gradle:7.0.0-alpha01 -> com.android.tools.build:builder:7.0.0-alpha01 -> com.android.tools:sdk-common:27.3.0-alpha01 -> org.jetbrains.intellij.deps:trove4j:1.0.20181211

但是,此版本仍处于 alpha 阶段,需要 Android Studio 4.3+,而该版本甚至还不是 Beta。

我在这里向谷歌提交了一个错误:https : //issuetracker.google.com/issues/179291081


以上是替换AndroidGradle存储库中的jcenter()的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>