在项目build.gradle中能否用jcenter()替代mavenCentral()集成Firebase?
Firebase集成:jcenter能否替代mavenCentral?
结论很明确:仅靠jcenter无法正常完成Firebase集成,必须添加mavenCentral(),原因如下:
- jcenter已经停止维护并归档,不再接收任何新包或版本更新。Firebase的新版本SDK、Google服务Gradle插件的后续迭代都不会上传到jcenter,你现在能在jcenter找到的Firebase相关包都是旧版本,后续无法获取功能更新和安全补丁。
- Firebase的核心依赖(包括SDK、服务插件)目前主要托管在
google()和mavenCentral()仓库,jcenter上的Firebase包不仅版本滞后,还可能存在部分组件缺失的情况,无法满足完整集成需求。
可行的解决方案
不需要移除jcenter(毕竟你还有依赖需要它),只需要在现有build.gradle配置中添加mavenCentral()仓库,让它和jcenter共存即可。修改后的配置示例如下:
修改后的项目级build.gradle
buildscript { repositories { google() jcenter() mavenCentral() // 添加这一行 } dependencies { classpath 'com.android.tools.build:gradle:7.2.1' classpath 'com.google.gms:google-services:4.3.13' } } allprojects { repositories { google() jcenter() mavenCentral() // 添加这一行 maven { url "https://jitpack.io" } } } task clean(type: Delete) { delete rootProject.buildDir }
这样既可以继续使用jcenter加载你的原有依赖,又能从mavenCentral获取Firebase的完整依赖和后续更新,两者不会产生冲突。
内容的提问来源于stack exchange,提问作者Eldestornillador
相关产品推荐
相关产品推荐

