Val*_*kov 92 android android-studio android-gradle-plugin
Android Studio Arctic Fox Canary 8 开始发出警告 JCenter is at end of life
但是我不能只是删除jcenter()声明,因为它承载了很多 android 工件,它会导致Could not resolve all artifacts错误。解决此警告的正确方法是什么?
Val*_*kov 107
有一个文档部分描述了这个问题:JCenter deprecation and end of service。您可以通过展开检查说明 ( Ctrl+F1)来找到该链接。该文件指出:
JFrog 是一家维护许多 Android 项目使用的 JCenter 工件存储库的公司,最近宣布弃用 JCenter 并即将停用。根据公告,JCenter 将允许在 2022 年 2 月 1 日前下载现有工件。
在 JCenter 上发布工件的开发人员应该开始将他们的包迁移到新主机,例如Maven Central。
在不久的将来,我们将在此页面上提供有关从 JCenter 迁移 Android 项目的更多信息。
扩展检查说明(以及上面的文档)建议替换jcenter()为mavenCentral(). 实际上JCenter是Maven Central的超集,但是在您的项目使用的所有JCenter工件都将移动到Maven Central之前,这种替换不会解决问题。
我认为最佳解决方案是等到您使用的库被移出jcenter()并尝试将其替换为mavenCentral(). 如果仍然缺少某些工件,请查看文档,它们可能被移到另一个存储库中,您也应该将其添加到repositories列表中。
repositories {
google()
// jcenter() // <- removed
mavenCentral() // <- added
}
Run Code Online (Sandbox Code Playgroud)
如果您是库作者,则应该迁移到另一个存储库,可能是Maven Central。请注意,根据 JCenter弃用公告,仅在 2021 年 3 月 31 日之前允许新提交。
一些相关资源:
Iva*_*ila 40
我认为要坚持不间断的迁移,而不是删除jcenter(),您可以保留两者,并且只更改脚本本身的顺序。这样,当开发人员正在迁移他们的工件时,jcenter()将始终是一个后备mavenCentral()。
repositories {
google()
mavenCentral()
jcenter()
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
14897 次 |
| 最近记录: |