首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >替换Android存储库中的jcenter()

替换Android存储库中的jcenter()
EN

Stack Overflow用户
提问于 2021-02-04 15:57:49
回答 2查看 21K关注 0票数 30

按照JFrog的说法,他们将于2021年5月1日落日,其中包括JCenter。

为了做好准备,我打开了我的build.gradle,用mavenCentral()替换了jcenter()。我的build.gradle现在看起来如下(删除了一些部分):

代码语言:javascript
复制
buildscript {
    repositories {
        google()
        // jcenter()
        mavenCentral()
    }

    dependencies {
        // ...
    }
}

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

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

但是,由于用jcenter()替换mavenCentral(),我收到了以下错误:

代码语言:javascript
复制
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仍然存在相同的问题。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2021-02-04 16:45:57

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

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

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

更新:谷歌正在为构建工具4.2和4.1进行修复。来源

更新:您可以尝试一个依赖解析规则

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

依赖链: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 4.3+,这甚至还没有在Beta中。

我在Google这里注册了一个bug:https://issuetracker.google.com/issues/179291081

票数 27
EN

Stack Overflow用户

发布于 2022-11-01 04:41:30

这个答案已经过时了,已经不再有用了,至少因为jcenter再次下降,错误为403。最有用的答案可以在这里找到最后,经过几个小时的头部撞击,问题解决了。

更新android/build.gradle,在allprojects -> repositories顶部添加以下内容。

代码语言:javascript
复制
allprojects {
  repositories {
      all { ArtifactRepository repo ->
          println repo.url.toString()
          if (repo.url.toString().startsWith("https://jcenter.bintray.com/")) {
              project.logger.warn "Repository ${repo.url} removed."
              remove repo
              mavenCentral()
          }
      }
      gradlePluginPortal() // add this if you get further errors 
      ...other repos
  }
}

谢谢。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66049196

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档