&引用;JCenter已到了生命的尽头”;android lint警告,什么是替代品?

&引用;JCenter已到了生命的尽头”;android lint警告,什么是替代品?,android,android-studio,android-gradle-plugin,Android,Android Studio,Android Gradle Plugin,Android Studio Arctic Fox Canary 8开始警告说,JCenter即将结束生命 但是我不能仅仅删除jcenter()声明,因为它承载了大量android工件,这将导致无法解决所有工件的问题。解决此警告的正确方法是什么?有一个文档部分描述了此问题:。您可以通过展开检验说明(Ctrl+F1)找到该链接。文件规定: JFrog是一家维护许多Android项目使用的JCenter工件库的公司, 最近宣布了JCenter的弃用和即将退休。根据, JCenter将允许下载现有工

Android Studio Arctic Fox Canary 8开始警告说,
JCenter即将结束生命


但是我不能仅仅删除
jcenter()
声明,因为它承载了大量android工件,这将导致
无法解决所有工件的问题。解决此警告的正确方法是什么?

有一个文档部分描述了此问题:。您可以通过展开检验说明(
Ctrl+F1
)找到该链接。文件规定:

JFrog是一家维护许多Android项目使用的JCenter工件库的公司, 最近宣布了JCenter的弃用和即将退休。根据, JCenter将允许下载现有工件,直到2022年2月1日

在JCenter上发布工件的开发人员应该开始将其包迁移到新主机,例如 作为

在不久的将来,我们将提供更多关于迁移Android项目的信息 请在此页面上输入JCenter

扩展的检验说明(以及上述文档)建议将
jcenter()
替换为
mavenCentral()
。Acualy JCenter是Maven Central的超集,但在项目使用的所有JCenter工件都移动到Maven Central之前,这样的替换将无法解决问题

我认为最佳的解决方案是等待您正在使用的库从
jcenter()
移动,并尝试用
mavenCentral()
替换它。如果仍然缺少一些工件,请查看文档,可能是它们被移动到了另一个存储库中,您也应该将其添加到
存储库
列表中

repositories {
    google()

//  jcenter()       // <- removed
    mavenCentral()  // <- added
}
存储库{
谷歌()

//jcenter()//我认为,为了坚持不中断的迁移,您可以保留这两个,而只更改脚本本身的顺序,而不是删除
jcenter()
。这样,
jcenter()
将始终是
mavenCentral()的回退
而开发人员正在迁移他们的工件

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

别急!
在Android Studio的开发人员为这种情况提供适当的自动解决方案之前,不需要做任何事情

几个月/几年后,当jcenter()被“终止”或“弃用”时,使用jcenter()的未更新应用程序是否会突然崩溃?还是旧的应用程序继续工作?从2022年2月1日开始,
jcenter
将继续工作,这意味着开发人员将无法推动新的更新,除非您添加在
jcenter
上不可用的库的更新版本,否则您的应用程序将继续工作。我认为这并不能解决任何问题,如果jcenter找不到该版本,它将继续查找在mavenCentral打球。