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

Android Studio无法接受Android Licenses 执行flutter doctor报错

问题根因

报错的核心诱因就是你的Mac用户名包含带前置空格的(Deleted)字段,Flutter脚本在拼接Android cmdline-tools的classpath路径时,没有对路径中的空格做转义处理,错误将空格识别为路径分隔符,把原本完整的SDK路径截断为(Deleted).Library.Android.sdk.cmdline-tools.latest,自然无法找到对应主类。这个问题和SDK版本、Java 8环境无关,就是特殊字符+空格触发的路径解析bug。

可直接落地的解决方案

方案1:快速修复(无需修改用户名,5分钟可解决)

  • 先编辑当前shell的配置文件,Mac默认用zsh的话就打开~/.zshrc,用bash的话打开~/.bash_profile,在文件末尾追加以下环境变量配置,所有路径都用双引号包裹,强制转义空格:
export ANDROID_HOME="$HOME/Library/Android/sdk"
export PATH="$ANDROID_HOME/cmdline-tools/latest/bin:$ANDROID_HOME/platform-tools:$PATH"
  • 保存文件后执行对应命令让配置生效,zsh执行source ~/.zshrc,bash执行source ~/.bash_profile
  • 不要直接运行flutter doctor --android-licenses,先进入cmdline-tools的bin目录手动调用sdkmanager接受许可证:
cd "$ANDROID_HOME/cmdline-tools/latest/bin"
./sdkmanager --licenses

执行后所有弹窗提示都输入y确认接受,完成后回到任意路径执行flutter doctor,许可证相关的报错就会消失。

方案2:永久修复(避免后续其他开发工具踩同类路径坑)

Mac用户名包含空格、特殊括号字符除了会触发Flutter的路径bug,还可能导致其他命令行开发工具、编译脚本出现同类路径解析错误,可备份系统数据后,在「系统设置-用户与群组-右键当前用户-高级选项」里修改用户名为不带空格、无特殊括号的普通命名,重启设备后所有路径相关的隐患会彻底消除,后续直接运行flutter doctor --android-licenses也不会再报错。

排查提示:遇到这类找不到主类、找不到文件的命令行报错,先看报错里的路径是不是和你实际的文件路径一致,如果路径从空格/特殊字符位置截断,100%是转义问题,不用反复重装SDK、重装Java浪费时间。

内容的提问来源于stack exchange,提问作者John.Hicks

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.30 23:33:21