升级Android Studio和Gradle后React Native集成Firebase的Gradle构建报错求助
报错原因
你升级到Gradle 7.0及以上版本后,旧版maven插件提供的uploadArchives任务已被官方完全移除,和你之前遇到的compile废弃、maven插件废弃属于同一批Gradle高版本不兼容变更。
解决方案
方案1:升级expo依赖(推荐,无需修改第三方包代码)
直接将项目中的expo-application依赖升级到最新适配高版本Gradle的版本即可,官方已在新版中完成了maven-publish的适配,不需要手动修改模块内的build.gradle配置。
方案2:手动修改expo-application模块配置
如果暂时无法升级依赖,按如下步骤修改build.gradle(:expo-application)文件:
- 替换顶部的maven插件声明
删掉apply plugin: 'maven',替换为:apply plugin: 'maven-publish' - 替换整段报错的uploadArchives配置
删掉你现在的uploadArchives代码块,替换为如下配置:publishing { publications { maven(MavenPublication) { from components.release groupId = "your.group.id" // 保持原有配置值即可,无需修改 artifactId = "expo-application" version = "your.version" // 保持原有配置值即可,无需修改 } } repositories { maven { url = mavenLocal().url } } } - 后续需要执行本地maven上传操作时,将原来的
uploadArchives命令替换为:./gradlew publishToMavenLocal
方案3:全局临时兼容(适合快速验证)
如果你不想修改第三方模块代码,可以在项目根目录的build.gradle的allprojects代码块中添加如下配置,全局兼容旧的uploadArchives调用:
allprojects { // 原有其他配置保持不变 task uploadArchives { dependsOn tasks.matching { it.name == "publishToMavenLocal" } } }
内容的提问来源于stack exchange,提问作者Apoorva Shridhar
相关产品推荐
相关产品推荐

