React Native 0.60升级至0.73后Java toolchain兼容性错误求助
React Native 0.73升级Gradle错误解决方案
问题原因
RN 0.73引入了Gradle Java Toolchain特性,而你的项目中存在全局强制覆盖子项目compileSdkVersion的配置,同时可能残留了旧的Java版本sourceCompatibility/targetCompatibility设置,两者冲突导致报错。
解决步骤
1. 删除全局强制覆盖的子项目配置
直接移除android/build.gradle中以下代码块,它会强制所有子项目使用过时的compileSdkVersion 28,和RN 0.73要求的33冲突,还会干扰Toolchain配置:
subprojects { afterEvaluate {project -> if (project.hasProperty("android")) { android { compileSdkVersion 28 buildToolsVersion "28.0.3" } } } }
2. 统一Java版本配置(替换旧的兼容设置)
如果你的app/build.gradle或其他模块中存在sourceCompatibility/targetCompatibility配置,替换为Gradle Toolchain的写法(RN 0.73默认要求Java 17):
- 旧配置(删除):
android { compileOptions { sourceCompatibility JavaVersion.VERSION_1_8 targetCompatibility JavaVersion.VERSION_1_8 } }
- 新配置(添加):
android { compileOptions { toolchain { languageVersion = JavaLanguageVersion.of(17) } } }
3. 确认Gradle版本兼容性
AGP 7.4.2需要搭配Gradle 7.5及以上版本,检查android/gradle/wrapper/gradle-wrapper.properties中的distributionUrl:
distributionUrl=https\://services.gradle.org/distributions/gradle-7.5-bin.zip
如果版本过低,替换为上述内容。
4. 清理缓存并重新构建
执行以下命令彻底清理缓存后重新编译:
# 进入android目录 cd android # 清理gradle缓存 ./gradlew clean # 返回根目录清理node_modules和锁文件 cd .. rm -rf node_modules package-lock.json yarn.lock # 重新安装依赖 npm install # 或 yarn install # 运行项目 npx react-native run-android
内容的提问来源于stack exchange,提问作者Backup Gov18
相关产品推荐
相关产品推荐

