按照JFrog的说法,他们将于2021年5月1日落日,其中包括JCenter。
为了做好准备,我打开了我的build.gradle,用mavenCentral()替换了jcenter()。我的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仍然存在相同的问题。
发布于 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
发布于 2022-11-01 04:41:30
这个答案已经过时了,已经不再有用了,至少因为jcenter再次下降,错误为403。最有用的答案可以在这里找到最后,经过几个小时的头部撞击,问题解决了。
更新android/build.gradle,在allprojects -> repositories顶部添加以下内容。
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
}
}谢谢。
https://stackoverflow.com/questions/66049196
复制相似问题