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

React Native安卓构建失败:compileDebugJavaWithJavac任务执行出错

解决React Native 0.73.5 Android构建JdkImageTransform错误

问题核心

你遇到的编译错误是JDK 21与React Native 0.73.5、Android Gradle Plugin(AGP)兼容性不匹配导致的。RN 0.73.x官方推荐使用JDK 17,JDK 21的模块系统逻辑与当前AGP版本的JdkImageTransform处理流程冲突,进而引发多个依赖库的编译失败。

解决方案

方案1:降级JDK到17(推荐,适配RN 0.73)

  1. 安装JDK 17
    下载Zulu 17或Oracle JDK 17,安装后记录路径(例如/Library/Java/JavaVirtualMachines/zulu-17.jdk/Contents/Home)。

  2. 临时切换终端JDK版本
    在项目根目录的终端执行:

    export JAVA_HOME=/Library/Java/JavaVirtualMachines/zulu-17.jdk/Contents/Home
    export PATH=$JAVA_HOME/bin:$PATH
    

    验证版本:

    java -version
    

    输出需显示openjdk version "17.x.x"。

  3. 匹配Gradle与AGP版本
    RN 0.73.5默认适配Gradle 7.5和AGP 7.4.2,修改以下文件:

    • 根目录gradle/wrapper/gradle-wrapper.properties:
      distributionUrl=https\://services.gradle.org/distributions/gradle-7.5-all.zip
      
    • 根目录build.gradle的dependencies块:
      classpath("com.android.tools.build:gradle:7.4.2")
      
  4. 清理缓存并重建

    ./gradlew clean
    rm -rf ~/.gradle/caches
    rm -rf node_modules && npm install
    npm run android
    

方案2:升级React Native到支持JDK 21的版本

若想保留JDK 21,需将RN升级到0.74.x及以上版本(RN 0.74开始官方支持JDK 21和AGP 8.x):

  1. 执行RN升级命令:
    npx react-native upgrade
    
  2. 按照官方升级指南调整Gradle和AGP版本,确保与RN 0.74匹配。

额外优化(非必须但推荐)

移除根build.gradle中已废弃的jcenter()仓库,替换为mavenCentral(),避免潜在依赖拉取问题:

allprojects {
    repositories {
        mavenLocal()
        mavenCentral()
        maven { url("https://maven.google.com") }
        google()
        maven { url 'https://jitpack.io' }
    }
}

内容的提问来源于stack exchange,提问作者Marc-Antoine Leonelli

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.28 15:41:08