React Native新项目构建失败:Gradle检测到Java 1.8而非Java 11
解决React Native新项目构建失败(Java版本不兼容)
问题现象
使用npx react-native init newProject创建新项目后,执行npx react-native run-android启动应用时构建失败,错误信息核心如下:
FAILURE: Build failed with an exception. * What went wrong: A problem occurred evaluating project ':app'. > Failed to apply plugin 'com.android.internal.application'. > Android Gradle plugin requires Java 11 to run. You are currently using Java 1.8. Your current JDK is located in C:\Program Files\OpenJDK\openjdk-8u292-b10\jre
执行./gradlew --version确认当前JVM版本为1.8.0_292,现有旧项目可正常运行。
核心原因
新项目默认使用的Android Gradle插件版本较高,强制要求Java 11作为运行环境;而旧项目使用的插件版本较低,兼容Java 1.8,因此不受影响。
解决方案
方法一:全局升级Java到11(推荐)
- 下载OpenJDK 11(如Adoptium提供的稳定版本),安装到本地目录(示例路径:
C:\Program Files\OpenJDK\openjdk-11.0.20) - 配置系统环境变量:
- 设置
JAVA_HOME为Java 11的安装根目录(不要指向jre子目录) - 在
Path环境变量中添加%JAVA_HOME%\bin,并将其移至原有Java 8路径的上方
- 设置
- 验证:打开新的命令提示符,执行
java -version,确认输出为Java 11版本
方法二:仅给当前新项目指定Java 11
- 打开项目根目录下的
gradle.properties文件,添加以下配置(替换为你的Java 11实际安装路径):org.gradle.java.home=C:\\Program Files\\OpenJDK\\openjdk-11.0.20 - 或通过Android Studio设置:打开项目后,依次点击
File > Project Structure > SDK Location,在JDK location处选择Java 11的安装目录
方法三:降级Android Gradle插件版本(临时方案)
若暂时不想升级Java,可降低新项目的插件版本以兼容Java 1.8:
- 打开项目根目录的
android/build.gradle,修改Gradle插件版本:dependencies { classpath("com.android.tools.build:gradle:4.2.2") // 保留其他原有依赖 } - 打开
android/gradle/wrapper/gradle-wrapper.properties,修改Gradle分发URL:distributionUrl=https\://services.gradle.org/distributions/gradle-6.7.1-all.zip
内容的提问来源于stack exchange,提问作者alobre
相关产品推荐
相关产品推荐

