You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

升级JDK11与compileSdkVersion31后React Native安卓无法启动报错

解决方案

1. 调整JDK版本适配

RN 0.59.10原生基于JDK 8开发,直接用JDK 11会触发构建兼容性问题,可通过两种方式修正:

  • 打开Android Studio的「File > Project Structure」,在SDK Location里指定JDK 8的安装目录;
  • 或在项目根目录的gradle.properties中添加配置:
    org.gradle.java.home=/path/to/your/jdk8
    

2. 修正Android编译配置(优先降级compileSdk)

RN 0.59.10对compileSdk 31的支持完全不完善,建议先回退到兼容版本:

  • 打开android/build.gradle,修改配置:
    compileSdkVersion 29
    buildToolsVersion "29.0.3"
    
  • 同步修改android/app/build.gradle里的targetSdkVersion为29:
    targetSdkVersion 29
    

如果坚持要用compileSdk 31,需升级Android Gradle Plugin到7.0+,但RN 0.59.10会出现大量兼容性报错,不推荐。

3. 检查Android SDK路径与依赖

  • 打开local.properties文件,确认sdk.dir指向正确的Android SDK路径,示例:
    sdk.dir=/Users/xxx/Library/Android/sdk
    
  • 在Android Studio的SDK Manager中,确保已安装对应版本的SDK Platform(比如compileSdk 29就装Android 10的SDK)和Build Tools 29.0.3。

4. 清理缓存后重建项目

执行以下命令清理缓存并重启项目:

# 进入安卓目录清理gradle缓存
cd android
./gradlew clean
# 返回根目录清理npm缓存
cd ..
npm cache clean --force
# 重新启动项目
npx react-native run-android

额外提醒

RN 0.59.10是2019年的老旧版本,早已停止维护。后续若要适配新系统或升级依赖,建议逐步将RN版本升级到0.68+这类稳定版,避免跨版本升级带来的兼容性问题。

内容的提问来源于stack exchange,提问作者Ville Miekk-oja

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.04 14:15:48