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

Docker部署的Jenkins运行Android构建时AGP需Java11实际为Java1.8如何解决

报错详情:
构建文件路径:/var/jenkins_home/workspace/CICDDemo_master/app/build.gradle(第2行)
异常原因:执行id: 'com.android.application'插件申请时抛出异常
错误信息:Failed to apply plugin 'com.android.internal.application'. Android Gradle plugin requires Java 11 to run. You are currently using Java 1.8

问题根因

Docker容器全局的Java版本和Jenkins任务执行时继承的JDK版本不一致,Jenkins进程或任务单独配置了JDK1.8的环境,导致Gradle构建时调用了错误的Java版本。

适配Jenkins场景的解决方案

方案1:修改Jenkins全局JDK配置(对应官方「更改IDE设置」方案)

  • 进入Jenkins后台,依次打开Manage Jenkins → Global Tool Configuration
  • 找到JDK配置板块,新增JDK11安装条目:可选择自动下载对应版本openjdk11,也可直接填写容器内JDK11的实际安装路径(可在容器内执行echo $JAVA_HOME获取路径,常见路径为/usr/lib/jvm/java-11-openjdk-amd64)
  • 打开对应Android构建任务的配置页,在「JDK」下拉选项中选择刚才配置的JDK11,保存后重新构建即可。

方案2:修改JAVA_HOME环境变量

单任务生效

  • 打开目标构建任务的配置页,找到「构建环境」板块,勾选「Set environment variables」
  • 新增环境变量,键为JAVA_HOME,值为容器内JDK11的实际安装路径,保存后重新构建。

全局生效

  • 修改Jenkins Docker容器的启动命令,添加环境变量参数:-e JAVA_HOME=容器内JDK11实际安装路径
  • 重启容器后所有构建任务默认使用该JDK版本。

方案3:项目级Gradle配置指定JDK

在项目根目录的gradle.properties文件中添加如下配置:

org.gradle.java.home=容器内JDK11的实际绝对路径

注意:填写的路径必须是Jenkins任务执行时可正常访问的容器内路径,不要使用本地开发环境的JDK路径。

配置验证

可在构建任务的「构建」步骤最前面新增一个「Execute shell」步骤,添加如下命令,执行构建后查看输出即可确认任务实际使用的Java版本:

echo $JAVA_HOME
java -version

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 02:51:02