Gradle 从 JCenter 迁移到 mavenCentral 存储库时出现问题

Gradle issue when migrating from JCenter to mavenCentral repository

您可能已经知道,JFrog 宣布 Bintray、JCenter、GoCenter 和 ChartCenter 将于今年 5 月 1 日下线。 由于 JCenter 在 Android 项目中作为主要仓库广泛用于各种依赖项,因此应使用替代仓库,我使用 mavenCentral 因为它最受欢迎且被广泛接受。

我在从 JCenter 迁移到 mavenCentral 时遇到问题。我保留 JCenter 也是因为领域数据库(计划很快迁移到 mavenCentral)和其他一些东西。

如果我这样说

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

它按预期工作,但我只想从 JCenter 下载领域和其他缺失的东西,直到它完全迁移。 然后它看起来像这样:

repositories {
    google()
    mavenCentral()
    jcenter() {
        content {
            includeGroup "io.realm"
            includeGroup "org.jetbrains.trove4j"
        }
    }
}

然后有很多依赖标记为致命错误,例如:

[Fatal Error] appcenter-analytics-4.1.0.pom:2:3: The markup in the document preceding the root element must be well-formed.

之后:

Could not resolve all task dependencies for configuration ':app:appNameCompileClasspath'. Could not resolve com.microsoft.appcenter:appcenter-analytics:4.1.0. Required by: project :app > Could not resolve com.microsoft.appcenter:appcenter-analytics:4.1.0. > Could not parse POM http://pay.cards/maven/com/microsoft/appcenter/appcenter-analytics/4.1.0/appcenter-analytics-4.1.0.pom > The markup in the document preceding the root element must be well-formed. Could not resolve com.microsoft.appcenter:appcenter-crashes:4.1.0.

我尝试了各种方法,清理缓存、重建项目、降低依赖版本等

有人遇到过这样的问题并且知道解决方案吗?

根据 this and a note here of (both links to the official Microsoft Documentation) it seems to me, that at least your appcenter dependency should have been migrated to mavenCentral() by now. The time your question was asked and the time this 已提出的问题,让我相信在您提出问题时,情况并非如此。

如果您还有其他无法解决的依赖项,我建议您研究一下它们是否仍然只在 JCenter 上可用。

只需将 jcenter() 替换为:gradlePluginPortal()

编辑:如果 gradlePluginPortal() 不够,再添加一个:mavenCentral()