React Native项目升级Android Gradle Plugin及Gradle版本后构建失败求助
React Native项目升级Android Gradle Plugin及Gradle版本后构建失败求助
兄弟,我前段时间升级RN项目的AGP和Gradle时也踩过几乎一模一样的坑,给你整理几个亲测有效的解决步骤,应该能帮你搞定:
先理清版本对应关系
首先得明确,Android Gradle Plugin(AGP)和Gradle版本是强绑定的,RN版本也有推荐的配套版本:
- 你当前用的RN 0.75.4官方推荐AGP 8.2.x + Gradle 8.3,但你要升级到Gradle 8.7的话,对应的AGP版本至少要8.5.x(AGP 8.5才支持Gradle 8.7+)
1. 手动解决AGP升级助手找不到版本的问题
因为你的项目用了buildSrc这类特性,升级助手识别不了,得手动修改AGP版本:
- 如果是用
buildSrc管理版本常量:打开buildSrc/src/main/kotlin下的版本配置文件,把AGP版本改成8.5.0,同时把Kotlin版本改成1.9.22(AGP 8.5.x配套的Kotlin版本是1.9.20+) - 如果是直接在根目录
build.gradle/build.gradle.kts里配置:找到plugins块,修改AGP和Kotlin版本:plugins { id("com.android.application") version "8.5.0" apply false id("com.android.library") version "8.5.0" apply false id("org.jetbrains.kotlin.android") version "1.9.22" apply false }
2. 修复Kotlin版本不兼容的报错
你遇到的Module was compiled with an incompatible version of Kotlin错误,是因为RN 0.75.4默认用的是Kotlin 1.8.22,和你升级后用的1.9.22版本冲突了,得统一项目里的Kotlin版本:
- 在根目录的
build.gradle.kts里添加全局配置,强制所有依赖用同一个Kotlin版本:buildscript { ext { kotlinVersion = "1.9.22" } } subprojects { // 统一Kotlin编译参数 tasks.withType<org.jetbrains.kotlin.gradle.tasks.KotlinCompile> { kotlinOptions { jvmTarget = "17" // RN 0.75+要求JVM目标版本为17 apiVersion = "1.9" languageVersion = "1.9" } } // 强制所有依赖使用指定的Kotlin标准库版本 configurations.all { resolutionStrategy { force("org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.9.22") force("org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.9.22") force("org.jetbrains.kotlin:kotlin-stdlib:1.9.22") force("org.jetbrains.kotlin:kotlin-reflect:1.9.22") } } }
3. 确认Gradle Wrapper配置
检查gradle/wrapper/gradle-wrapper.properties里的下载链接是否正确指向Gradle 8.7:
distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-bin.zip
4. 清理缓存后重新构建
最后一步很关键,旧缓存很容易导致奇怪的问题:
- 执行命令清理项目:
./gradlew clean - 删除项目根目录下的
.gradle文件夹(放心删,重新构建会自动下载) - 重新执行构建命令:
./gradlew assembleDebug
按这个流程走下来,应该就能解决你遇到的两个问题了。
备注:内容来源于stack exchange,提问作者Jackee




