React Native项目升级Gradle到7.2时遇@react-native-community_art构建错误
解决方案
1. 匹配Android Gradle Plugin(AGP)与Gradle版本
Gradle 7.2 无法兼容旧版 AGP(3.5.3),必须升级 AGP 到对应兼容版本:
修改根目录 build.gradle 中的依赖配置:
dependencies { // 替换为Gradle7.2兼容的AGP版本 classpath 'com.android.tools.build:gradle:7.0.4' // 升级谷歌服务及Firebase插件版本以适配 classpath 'com.google.gms:google-services:4.3.10' classpath 'com.google.firebase:firebase-crashlytics-gradle:2.9.2' classpath 'com.google.firebase:perf-plugin:1.4.2' }
2. 调整Build Tools与SDK版本匹配
当前 buildToolsVersion=28.0.3 与 compileSdkVersion=31 不兼容,修改根目录 build.gradle 的 ext 配置块:
ext { buildToolsVersion = "31.0.0" minSdkVersion = 16 compileSdkVersion = 31 targetSdkVersion = 31 supportLibVersion = "28.0.0" }
3. 替换废弃的JCenter仓库
JCenter已停止服务,Gradle 7.x 建议替换为 Maven Central:
修改根目录 build.gradle 的仓库配置:
buildscript { repositories { google() mavenCentral() // 替换原jcenter() } } allprojects { repositories { maven { url "https://www.jitpack.io" } mavenLocal() maven { url ("$rootDir/../node_modules/react-native/android") } maven { url("$rootDir/../node_modules/jsc-android/dist") } google() mavenCentral() // 替换原jcenter() } }
4. 修复@react-native-community/art库的兼容性问题
该第三方库版本过低导致Manifest校验失败,可二选一处理:
- 若仍在使用该库:升级到最新兼容版本
npm install @react-native-community/art@latest - 若已不再使用:直接卸载并移除代码中的相关引用
npm uninstall @react-native-community/art
5. 优化Gradle配置(可选)
gradle.properties 中的 XX:MaxPermSize 在Java 8+已废弃,可移除该配置:
org.gradle.jvmargs=-Xmx4096m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8 android.useAndroidX=true android.enableJetifier=true MYAPP_RELEASE_STORE_FILE=debug.keystore MYAPP_RELEASE_KEY_ALIAS=androiddebugkey MYAPP_RELEASE_STORE_PASSWORD=xxxxx MYAPP_RELEASE_KEY_PASSWORD=xxxxx
6. 清理缓存并重新构建
# 进入Android目录 cd android # 清理构建缓存 ./gradlew clean # 返回根目录安装依赖 cd .. npm install # 重新运行项目 npx react-native run-android
内容的提问来源于stack exchange,提问作者Anthony
相关产品推荐
相关产品推荐

