React Native Android项目启动失败,求React Native、Android Gradle插件与Kotlin的兼容版本组合
React Native Android项目启动失败,求React Native、Android Gradle插件与Kotlin的兼容版本组合
兄弟我太懂你这种卡好几天绕圈圈的痛苦了!iOS跑顺了Android各种报错,简直让人头大,我帮你梳理下靠谱的兼容版本组合,顺便解决你当前的编译问题。
先分析你当前的问题根源
你现在遇到的Unresolved reference 'BaseReactPackage'这类错误,核心原因是Kotlin版本太高了!React Native 0.72.x的生态还没适配Kotlin 2.0.x这么新的版本,像react-native-screens这类依赖还在使用旧的Kotlin/React Native API,新版本Kotlin移除或变更了这些API,自然就找不到了。另外你用的Gradle 8.0.1和AGP 7.4.2也不兼容,AGP 7.4.x最高只支持到Gradle 7.6,这也会埋下构建冲突的隐患。
推荐的稳定兼容版本组合
1. 不升级RN,适配你当前0.72.4的组合(最快解决)
这是官方验证过的稳定搭配,不用动RN版本就能搞定:
- React Native:
0.72.4(保持你当前版本) - Android Gradle Plugin (AGP):
7.4.2(你当前的这个是对的,不用改) - Kotlin Gradle Plugin:
1.8.22(RN 0.72.x官方推荐的兼容版本) - Gradle Distribution:
7.5(和AGP7.4.2完美适配) - Java版本:
17(你当前的配置没问题)
2. 愿意升级RN到长期维护版(推荐长期稳定)
如果想获得更好的兼容性和新特性,推荐升级到RN 0.73.x(长期维护分支):
- React Native:
0.73.10(最新稳定版) - AGP:
7.4.2或8.0.2 - Kotlin Gradle Plugin:
1.9.22 - Gradle Distribution:
7.5(对应AGP7.4)或8.0.2(对应AGP8.0) - Java版本:
17
针对你当前项目的具体修复步骤
修改Kotlin版本
打开android/build.gradle,把kotlin_version改成1.8.22:buildscript { ext { // ...其他配置保持不变 kotlin_version = '1.8.22' } // ...其他内容不变 }修改Gradle版本
打开android/gradle/wrapper/gradle-wrapper.properties,更新distributionUrl:distributionUrl=https\://services.gradle.org/distributions/gradle-7.5-all.zip彻底清理缓存重新构建
执行下面的命令,把所有可能的缓存都清干净再构建:# 可选:清理node_modules重新安装(避免依赖缓存问题) rm -rf node_modules && npm install # 清理Gradle相关缓存 rm -rf ~/.gradle/caches ~/.gradle/kotlin-dsl ~/.gradle/wrapper android/.gradle .gradle # 进入Android目录重新构建 cd android && ./gradlew clean build --refresh-dependencies
按照这个步骤来,应该能解决你当前的编译错误,顺利跑起来Android项目。
内容来源于stack exchange




