运行flutter doctor --android-licenses提示找不到主类错误怎么解决
问题核心原因
这个报错是Android SDK命令行工具的启动脚本路径解析异常导致的,你当前的SDK存放路径中包含空格(从报错信息可判断你的Windows用户名带空格,用户名中Pandey前面有空格),Java执行时会把空格后的路径片段误识别为要加载的主类,触发类找不到异常。
解决方法
- 方案一:迁移SDK到无特殊字符路径(最稳妥,后续不易出其他兼容性问题)
将整个Android SDK文件夹移动到不含空格、中文、特殊符号的路径下,例如D:\dev\Android\Sdk,修改系统环境变量中ANDROID_HOME、ANDROID_SDK_ROOT的值为新的SDK路径,同时打开Android Studio的SDK设置页,将SDK路径同步更新为新路径。修改完成后重启终端,重新执行flutter doctor --android-licenses即可。 - 方案二:修改启动脚本适配带空格路径(不想迁移SDK可选)
- 打开报错提示的SDK路径:
C:\Users\[你的用户名]\AppData\Local\Android\Sdk\cmdline-tools\latest\bin - 找到
sdkmanager.bat文件,右键用记事本或其他文本编辑器打开 - 搜索到包含
DEFAULT_JVM_OPTS的配置行,将行内的%CLASSPATH%替换为"%CLASSPATH%"(给类路径参数包裹英文双引号,避免空格截断) - 保存文件后重启终端,重新执行
flutter doctor --android-licenses即可
- 打开报错提示的SDK路径:
操作完成后可执行flutter doctor验证Android相关配置是否全部正常。
内容的提问来源于stack exchange,提问作者scorpius750
相关产品推荐
相关产品推荐

