为何Android Gradle插件未检测到Java 11?App Center构建失败如何解决
Java 11检测异常问题解决方案
未检测到Java 11的原因
你使用的Android Gradle Plugin(AGP)7.0.2版本强制要求运行环境为JDK 11,本次报错是因为Gradle当前调用的JDK版本为1.8。Gradle的JDK选择优先级为:项目gradle.properties中org.gradle.java.home配置 > 系统环境变量JAVA_HOME > Android Studio默认绑定JDK > 系统全局安装JDK,优先级更高的配置指向了JDK 1.8,因此触发报错。
验证Java 11是否正常识别的方法
- 本地验证:在项目根目录打开终端,执行
./gradlew --version(Windows系统执行gradlew.bat --version),输出结果中的JVM字段会显示当前Gradle使用的JDK版本,显示11.x版本即为识别正常。 - App Center云端验证:在App Center的构建配置中添加前置执行命令
java -version,运行构建后查看日志输出即可确认云端构建环境的JDK版本。
gradle.properties配置说明
org.gradle.java.home的取值为JDK 11安装目录的绝对路径,路径不可包含中文、空格等特殊字符,不同场景的参考值如下:
- 使用Android Studio自带JDK 11的场景:
- Windows参考路径:
C:\\Program Files\\Android\\Android Studio\\jre - Mac参考路径:
/Applications/Android Studio.app/Contents/jre/Contents/Home - Linux参考路径:
/opt/android-studio/jre
- Windows参考路径:
- 自定义安装JDK 11的场景:填写你自己指定的JDK 11安装路径即可
配置时直接在项目根目录的gradle.properties文件中添加一行配置即可:
org.gradle.java.home=替换为你的JDK11绝对路径
注意:App Center构建环境默认已预装JDK 11,不需要在项目的gradle.properties中硬编码路径,直接在App Center对应项目的构建配置页选择JDK版本为11即可,避免本地和云端路径不一致导致的构建失败
配置JDK 11后仍构建失败的常见原因
- App Center构建环境未指定JDK版本:部分旧构建节点默认使用JDK 1.8,需要手动在App Center构建配置的「环境」分类下选择JDK版本为11。
- 路径配置错误:org.gradle.java.home的路径填写错误,或者特殊字符未转义,导致Gradle无法找到JDK 11。
- 全局Gradle配置覆盖:用户目录下的全局
gradle.properties(路径为~/.gradle/gradle.properties,Windows为C:\Users\你的用户名\.gradle\gradle.properties)中配置了指向JDK 1.8的org.gradle.java.home,优先级高于项目内配置,需要修改或删除全局配置的该项。 - Gradle Wrapper版本不兼容:AGP 7.0.2要求Gradle版本不低于7.0,需要确认
gradle/wrapper/gradle-wrapper.properties中的distributionUrl指向的Gradle版本为7.0及以上。
内容的提问来源于stack exchange,提问作者MikiBelavista
相关产品推荐
相关产品推荐

