You need to enable JavaScript to run this app. Android项目同步构建失败:Gradle Doctor提示JAVA_HOME未设置及监听器报错
优惠活动
大模型
产品
解决方案
定价
更多

Android项目同步构建失败:Gradle Doctor提示JAVA_HOME未设置及监听器报错

Gradle Doctor 触发的构建异常解决方案

根因定位

报错栈中出现的不存在路径/Library/Internet,是MacOS系统下含空格路径被错误截断的结果。
当前使用的低版本Gradle Doctor插件,在解析Gradle进程返回的Java安装路径时,未对路径中的转义空格做兼容处理,直接按空格拆分字符串,导致完整路径/Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home被截断为/Library/Internet,连锁触发两类问题:

  1. 因截断后的路径不合法,判定JAVA_HOME未配置,输出对应的提示信息
  2. 读取截断后的不存在路径时,抛出java.nio.file.NoSuchFileException,直接中断项目配置流程

可执行解决步骤

  • 修正JAVA_HOME路径配置
    打开终端对应的环境配置文件(zsh用户编辑~/.zshrc,bash用户编辑~/.bash_profile),检查export JAVA_HOME的配置行:
    优先使用命令自动获取无空格的JDK路径,避免指向系统默认带空格的applet插件JDK,配置写法为:
    export JAVA_HOME=$(/usr/libexec/java_home)
    若必须使用带空格的Java路径,需给路径值加上双引号包裹,避免shell解析时截断路径。
    执行source ~/.zshrc(或对应配置文件)让配置生效,在终端执行echo $JAVA_HOME,确认输出为完整的、无截断的合法路径。
  • 升级Gradle Doctor插件版本
    打开项目根目录的build.gradle文件,找到Gradle Doctor插件的classpath依赖配置,将版本升级到0.8.0及以上,该版本已修复带空格路径的解析逻辑缺陷。
  • 兜底临时方案
    若暂时无法调整Java路径或升级插件,可在项目根目录的gradle.properties文件中添加配置,直接关闭JAVA_HOME校验逻辑,跳过触发报错的代码分支:
    doctor.java.home.check.enabled=false

验证流程

所有配置调整完成后,先在终端执行java -XshowSettings:properties -version,查看输出的java.home值是否为完整的、无截断的路径,确认不存在被空格拆分的问题后,再执行Android Studio的项目同步、清理构建流程即可正常完成操作。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.23 04:45:04