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

Flutter执行flutter doctor报Android Sdkmanager not found如何解决

故障根因

Flutter 3.10及以上版本调整了Android SDK组件的校验逻辑,强制要求cmdline-tools组件必须存放在Android SDK目录下的cmdline-tools/latest子文件夹内。网上绝大多数排查方案只提到安装组件、配置环境变量,没提这个路径强制规则:如果直接把cmdline-tools文件放在cmdline-tools/根目录、用版本号命名子文件夹(比如cmdline-tools/11.0)、或者出现双层嵌套目录,不管怎么配环境变量都会触发sdkmanager识别失败。

分步修复操作
  • 第一步:清理残留的错误安装文件
    找到本机Android SDK根目录:
    • Windows默认路径:C:\Users\你的用户名\AppData\Local\Android\Sdk
    • Mac默认路径:~/Library/Android/sdk
    • Linux默认路径:~/Android/Sdk
      进入目录后直接删除整个cmdline-tools文件夹,清空所有残留文件。
  • 第二步:安装符合规范的cmdline-tools组件
    打开Android Studio → 进入Settings → Appearance & Behavior → System Settings → Android SDK → 切换到SDK Tools标签页
    勾选标记为Android SDK Command-line Tools (latest) 的选项,不要选带旧版本号的非latest组件,点击Apply等待安装完成。

    注意:不建议手动从官网下载压缩包解压,手动解压90%概率会出现目录层级错误,用Android Studio内置SDK管理器安装会自动生成符合Flutter校验规则的目录结构。

  • 第三步:校验目录结构正确性
    安装完成后回到SDK根目录下的cmdline-tools文件夹,确认目录结构符合要求:
    • 错误结构(识别失败):cmdline-tools/bin/sdkmanager、cmdline-tools/cmdline-tools/bin/sdkmanager、cmdline-tools/11.0/bin/sdkmanager
    • 正确结构(可正常识别):cmdline-tools/latest/bin/sdkmanager
      如果是之前手动解压出现双层嵌套,直接把内层存放bin目录的那层文件夹重命名为latest,移动到外层cmdline-tools目录下,删除空的残留文件夹即可。
  • 第四步:修正环境变量配置
    在系统环境变量中新增ANDROID_SDK_ROOT变量,值填写Android SDK根目录的绝对路径(不要填到cmdline-tools等子目录)。
    编辑系统Path变量,新增以下三个条目,删除之前配置的其他错误Android相关路径:
    • Windows环境:%ANDROID_SDK_ROOT%\platform-tools、%ANDROID_SDK_ROOT%\cmdline-tools\latest\bin、%ANDROID_SDK_ROOT%\emulator
    • Mac/Linux环境:$ANDROID_SDK_ROOT/platform-tools、$ANDROID_SDK_ROOT/cmdline-tools/latest/bin、$ANDROID_SDK_ROOT/emulator
  • 第五步:清理缓存重新校验
    关闭所有已打开的终端/命令提示符窗口,重新打开一个普通权限的终端(不需要管理员权限),依次执行以下命令:
    1. 执行flutter config --android-sdk "你的Android SDK根目录绝对路径",强制指定Flutter读取的SDK路径
    2. 执行flutter doctor --android-licenses,一路输入y接受所有Android许可证协议
    3. 执行flutter doctor,确认Android toolchain条目显示正常对勾,即修复完成。
兜底方案

如果以上步骤操作后仍然报错,按以下顺序排查:

  • 删除Flutter SDK目录下的bin/cache文件夹,重新执行flutter doctor,会自动重建损坏的校验缓存
  • Windows用户检查SDK所在路径、Windows用户名是否包含中文、空格、特殊字符,如果有,把Android SDK移动到纯英文无特殊字符的路径下(比如D:\Android\Sdk),重新配置环境变量和Flutter SDK路径即可
  • 检查本地是否安装了多个版本的Java/JDK,Flutter 3.x版本要求使用JDK 17,把系统JAVA_HOME环境变量指向Android Studio自带的JRE路径即可(默认路径:Android Studio安装目录下的jbr文件夹)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.28 05:09:20