macOS下android-cli执行update、init命令报错如何解决?
解决Android CLI与Android Studio自带
android命令冲突问题 问题情况
按照官方指引执行以下命令安装android-cli:
curl -fsSL https://dl.google.com/android/cli/latest/darwin_arm64/install.sh | bash android update android init
但执行android init和android update时均报错,提示命令不支持,终端输出旧版android命令的废弃提示:
The "android" command is deprecated.
For manual SDK, AVD, and project management, please use Android Studio.
For command-line tools, use tools/bin/sdkmanager and tools/bin/avdmanagerInvalid or unsupported command "init"
经排查,系统中存在两个android命令:
/usr/local/bin/android(刚安装的android-cli)~/Library/Android/sdk/tools/android(Android Studio自带的废弃命令)
原因分析
系统的PATH环境变量中,Android Studio自带的android命令路径优先级高于新安装的android-cli,导致执行android时调用的是旧版废弃命令,而非目标的android-cli工具。
解决方案
不需要卸载Android Studio,通过调整PATH优先级即可解决:
1. 临时验证(确认问题根源)
直接调用新安装的android-cli路径执行命令,验证是否能正常运行:
/usr/local/bin/android init
如果命令正常执行,说明确实是PATH优先级问题。
2. 永久调整PATH优先级
- 根据你使用的终端,打开对应的配置文件:
- zsh终端:
open ~/.zshrc - bash终端:
open ~/.bash_profile
- zsh终端:
- 在配置文件的最开头添加以下内容,让
/usr/local/bin的优先级高于其他路径:export PATH="/usr/local/bin:$PATH" - 保存文件后,重新加载配置使修改生效:
- zsh终端:
source ~/.zshrc - bash终端:
source ~/.bash_profile
- zsh终端:
- 验证修改结果:执行
which android,终端应返回/usr/local/bin/android,此时再执行android init和android update即可正常运行。
3. 可选:移除旧版命令(非必须)
如果确认不再需要Android Studio自带的旧版android命令,可直接删除:
rm ~/Library/Android/sdk/tools/android
注意:此操作非必须,调整PATH优先级已足够解决问题,直接删除可能影响Android Studio的其他关联功能,谨慎操作。
内容的提问来源于stack exchange,提问作者Nicolas Raoul
相关产品推荐
相关产品推荐

