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

AppCenter云构建React Native报错需JDK11及以上、JDK8不兼容

问题根因

构建报错核心是JDK版本不匹配:当前AppCenter构建环境默认调用的是JDK8,而项目使用的Gradle 7.2版本要求最低运行环境为JDK11,版本不兼容直接导致Gradle守护进程异常终止,构建失败。

解决方案
  • 方案一:直接修改AppCenter构建环境变量(最简便,无需改项目代码)
    进入对应应用的安卓分支构建配置页,找到环境变量配置项,新增一条变量:
    • 变量名:JAVA_HOME
    • 变量值:$(JAVA_HOME_11_X64)
      保存配置后重新发起构建即可,AppCenter的官方构建镜像默认预装了JDK11,这个变量会直接把构建时的Java路径切到JDK11目录。
  • 方案二:通过构建脚本固定JDK版本(适合多环境统一配置场景)
    1. 打开安卓模块下的build.gradle文件,在android配置块中补充JDK版本对齐配置:
    android {
        compileOptions {
            sourceCompatibility JavaVersion.VERSION_11
            targetCompatibility JavaVersion.VERSION_11
        }
    }
    
    1. 在项目根目录新建名为appcenter-post-clone.sh的脚本文件,赋予可执行权限后写入以下内容,在构建流程的代码拉取阶段完成后自动切换JDK版本:
    #!/usr/bin/env bash
    export JAVA_HOME="$JAVA_HOME_11_X64"
    export PATH="$JAVA_HOME/bin:$PATH"
    java -version
    
    提交该文件到代码仓库后重新触发构建即可。
  • 方案三:降级Gradle版本适配JDK8(不推荐)
    如果有特殊限制必须使用JDK8,可将项目Gradle版本降级到6.x系列、Android Gradle插件降级到4.1.x及兼容JDK8的版本,但该方案无法适配后续React Native及安卓SDK的新版本迭代,存在后续兼容隐患。
校验方法

重新发起构建后,查看构建日志里的Java版本输出,若显示为JDK11相关版本信息,说明配置生效,不会再触发该版本不兼容报错。

内容的提问来源于stack exchange,提问作者HenryO

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.29 09:48:22