You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

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.28.0.2
  • Kotlin Gradle Plugin: 1.9.22
  • Gradle Distribution: 7.5(对应AGP7.4)或 8.0.2(对应AGP8.0)
  • Java版本: 17

针对你当前项目的具体修复步骤

  1. 修改Kotlin版本
    打开android/build.gradle,把kotlin_version改成1.8.22

    buildscript {
        ext {
            // ...其他配置保持不变
            kotlin_version = '1.8.22'
        }
        // ...其他内容不变
    }
    
  2. 修改Gradle版本
    打开android/gradle/wrapper/gradle-wrapper.properties,更新distributionUrl:

    distributionUrl=https\://services.gradle.org/distributions/gradle-7.5-all.zip
    
  3. 彻底清理缓存重新构建
    执行下面的命令,把所有可能的缓存都清干净再构建:

    # 可选:清理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

火山引擎 最新活动