执行sudo cordova build android报错,找不到Android Build Tools 33.0.2
问题场景
创建Hello World Cordova应用并添加Android平台后,执行sudo cordova build android时触发Build Tools 33.0.2未找到的错误,尽管已在zshrc中配置了ANDROID_HOME/ANDROID_SDK_ROOT,且已安装对应版本的Build Tools。
错误日志
Checking Java JDK and Android SDK versions
ANDROID_HOME=undefined (recommended setting)
ANDROID_SDK_ROOT=undefined (DEPRECATED)
Using Android SDK: /opt/homebrew/Caskroom/android-platform-tools/33.0.3
Subproject Path: CordovaLib
Subproject Path: appFAILURE: Build failed with an exception.
Where:
Script '/Users/v002024/Documents/cordova/hello/platforms/android/CordovaLib/cordova.gradle' line: 69What went wrong:
A problem occurred evaluating script.No installed build tools found. Please install the Android build tools version 33.0.2.
- Try:
Run with --stacktrace option to get the stack trace.
Run with --info or --debug option to get more log output.
Run with --scan to get full insights.
当前zshrc配置
export PATH="/Users/v002024/FlutterDev/flutter/bin:$PATH" export PATH="$PATH":"$HOME/.pub-cache/bin" export JAVA_HOME="/Users/v002024/Library/Java/JavaVirtualMachines/corretto-1.8.0_382/Contents/Home" export ANDROID_SDK_ROOT=/Users/v002024/Library/Android/sdk export ANDROID_HOME=/Users/v002024/Library/Android/sdk export PATH=$PATH:$ANDROID_HOME/platform-tools export PATH=$PATH:$ANDROID_HOME/tools export PATH=$PATH:$ANDROID_HOME/tools/bin export PATH=$PATH:$ANDROID_HOME/emulator
已确认信息
- VS Code中执行
echo $ANDROID_HOME/echo $ANDROID_SDK_ROOT可正常输出配置路径 - 已安装SDK Build Tools 33.0.2
- 拥有API 33版本的Nexus 6模拟器
解决步骤
1. 取消sudo执行cordova命令
sudo会切换到root用户环境,不会加载普通用户的zshrc配置,导致ANDROID_HOME等变量无法被识别。直接执行:
cordova build android
若遇权限问题,调整项目目录权限:
sudo chown -R $USER:$GROUP /Users/v002024/Documents/cordova/hello
2. 验证Build Tools安装状态
检查SDK目录下是否存在目标版本的Build Tools:
ls /Users/v002024/Library/Android/sdk/build-tools/
- 若不存在:打开Android Studio的SDK Manager,重新安装SDK Build Tools 33.0.2
- 若存在:确认路径权限,确保当前用户有读取权限:
ls -ld /Users/v002024/Library/Android/sdk/build-tools/33.0.2/
3. 刷新环境变量
执行命令让zshrc配置立即生效:
source ~/.zshrc
之后重新执行cordova build android。
4. 重新添加Android平台
若上述步骤无效,尝试重置Android平台:
cordova platform remove android cordova platform add android@latest
或指定对应SDK版本的平台:
cordova platform add android@12.0.0
内容的提问来源于stack exchange,提问作者Hoa.Tran

