已安装Flutter但flutter doctor提示Android SDK缺少命令行工具如何解决?
解决Flutter Doctor提示Android SDK缺少命令行工具的问题
我之前也踩过这个坑!明明已经在Android SDK里装了命令行工具,flutter doctor却死活不认,给你几个亲测有效的解决办法:
1. 检查并配置Android SDK环境变量
首先得确保Flutter能找到你的Android SDK路径,以及命令行工具的执行路径:
- 先确认
ANDROID_HOME(或新版的ANDROID_SDK_ROOT)环境变量是否指向正确的SDK安装目录。Mac上默认路径一般是/Users/你的用户名/Library/Android/sdk,如果你自定义过路径就用你自己的。 - 把命令行工具的路径添加到
PATH里:- 新版SDK的命令行工具在
cmdline-tools/latest/bin目录下,旧版可能在tools/bin和platform-tools里,建议都加上。
- 新版SDK的命令行工具在
- 验证配置:在终端输入
echo $ANDROID_HOME和echo $PATH,看看输出里有没有包含上述路径。如果没有,需要修改你的shell配置文件(比如~/.zshrc或~/.bash_profile,取决于你用的是Zsh还是Bash),添加以下内容:export ANDROID_HOME=/Users/你的用户名/Library/Android/sdk export PATH=$PATH:$ANDROID_HOME/cmdline-tools/latest/bin export PATH=$PATH:$ANDROID_HOME/platform-tools export PATH=$PATH:$ANDROID_HOME/tools - 执行
source ~/.zshrc(对应你的配置文件)让配置立即生效,然后重新运行flutter doctor试试。
2. 确认Android SDK命令行工具的版本
有时候装了旧版本的命令行工具,Flutter识别不到:
- 打开Android Studio,进入
Settings > Appearance & Behavior > System Settings > Android SDK,切换到SDK Tools标签,勾选右上角的Show Package Details。 - 查看
Android SDK Command-line Tools,确保安装了latest版本(如果只装了具体版本号的旧版,比如6.0,建议勾选latest并点击Apply安装)。 - 安装完成后重启终端,再运行
flutter doctor。
3. 让Flutter手动指定Android SDK路径
如果环境变量配置没问题但还是报错,可以直接告诉Flutter你的SDK位置:
flutter config --android-sdk /你的AndroidSDK完整路径
比如你的SDK在/Users/chris/Library/Android/sdk,就执行:
flutter config --android-sdk /Users/chris/Library/Android/sdk
之后再运行flutter doctor检查。
4. 清除Flutter缓存并确认许可证
缓存异常也可能导致识别问题,试试这两步:
flutter clean flutter doctor --android-licenses
运行第二个命令时,一路输入y同意所有Android许可证,完成后再重新执行flutter doctor。
内容的提问来源于stack exchange,提问作者user223364




