React Native从0.67.5升级至0.68.6:Android Release打包因Java版本失败
React Native 0.68.6 Android流水线构建失败:Java版本不匹配问题
通过React Native Upgrade Helper完成从0.67.5到0.68.6的升级后,本地Android应用可正常构建,但流水线执行cd android && ./gradlew bundleRelease时失败,错误提示Android Gradle插件要求Java 11,当前环境使用的是Java 1.8。
解决方法
1. 配置流水线环境的Java版本
根据你使用的CI工具(如GitHub Actions、GitLab CI、Jenkins等),强制切换到Java 11环境:
- 以GitHub Actions为例,在Workflow文件中添加Java 11配置:
- name: 配置JDK 11 uses: actions/setup-java@v3 with: java-version: '11' distribution: 'temurin' - 若使用Shell脚本执行构建,在gradle命令前设置环境变量:
export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64 # 替换为CI环境中Java 11的实际路径 export PATH=$JAVA_HOME/bin:$PATH
2. 在项目中指定Gradle使用的Java版本
修改项目根目录的gradle.properties文件,添加以下配置,强制Gradle使用Java 11:
org.gradle.java.home=/path/to/java11 # 替换为CI环境中Java 11的路径
注:部分CI环境会提供环境变量(如JAVA_HOME_11_X64),可直接引用:
org.gradle.java.home=$JAVA_HOME_11_X64
3. 确认Android Gradle插件版本匹配
React Native 0.68.x对应的Android Gradle插件(AGP)版本为7.x系列,该系列要求Java 11运行环境。检查项目android/build.gradle中的AGP版本是否正确:
buildscript { dependencies { classpath 'com.android.tools.build:gradle:7.0.4' // 与RN 0.68.x兼容的版本 } }
本地构建正常是因为你已经在Android Studio和本地环境配置了Java 11,而流水线环境默认使用Java 1.8,只需统一两边的Java版本即可解决问题。
内容的提问来源于stack exchange,提问作者Before The Empire
相关产品推荐
相关产品推荐

