替换 Android Gradle 存储库中的 jcenter()
Posted
技术标签:
【中文标题】替换 Android Gradle 存储库中的 jcenter()【英文标题】:Replacing jcenter() in Android Gradle Repositories 【发布时间】:2021-05-08 23:08:27 【问题描述】:根据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 版仍然存在同样的问题。
【问题讨论】:
【参考方案1】:JetBrains copied org.jetbrains.trove4j:trove4j:20160824
到 Maven Central,它解决了这个错误。 ?
如果您使用尚未迁移到 Maven Central 的其他依赖项,您应该直接与他们联系。
更新:“我们听取了社区的意见,并将无限期将 JCenter 保留为只读存储库。我们的客户和社区可以继续依赖 JCenter 作为Java 包的可靠镜像。” source
更新:Google 正在努力修复构建工具 4.2 和可能的 4.1。 source
更新:你可以试试dependency resolve rule。
***依赖项com.android.tools.build:gradle
开始在7.0.0-alpha01
中使用更新版本的trove4j
。 (7.0.0-alpha12
is currently the latest.)
依赖链:
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 版本。
我在这里向 Google 提交了一个错误:https://issuetracker.google.com/issues/179291081
【讨论】:
感谢您的更新和链接,但我们现在能做些什么来解决这个问题?谷歌链接中的 resolutionStrategies 似乎不起作用。以上是关于替换 Android Gradle 存储库中的 jcenter()的主要内容,如果未能解决你的问题,请参考以下文章