Azure DevOps Pipelines中Cordova安卓构建遇Build Tools 31.0.0报错如何解决
解决方案
该报错的核心原因是Android Build Tools 31.0.0存在已知兼容性缺陷,且Azure DevOps代理预装的该版本存在文件缺失,可按以下步骤修复:
1. 卸载损坏的Build Tools 31.0.0
在Azure DevOps管道的Cordova构建步骤前,新增命令行任务,执行对应系统的卸载命令:
- Windows代理执行命令:
"%ANDROID_HOME%\tools\bin\sdkmanager.bat" --uninstall "build-tools;31.0.0" - Linux/macOS代理执行命令:
$ANDROID_HOME/tools/bin/sdkmanager --uninstall "build-tools;31.0.0"
2. 安装稳定版Build Tools
在同个命令行任务中追加安装命令,优先选择兼容性更好的30.0.3或32.0.0版本,规避31.0.0的原生问题:
- Windows代理执行命令:
"%ANDROID_HOME%\tools\bin\sdkmanager.bat" "build-tools;30.0.3" "platforms;android-30" - Linux/macOS代理执行命令:
yes | $ANDROID_HOME/tools/bin/sdkmanager "build-tools;30.0.3" "platforms;android-30"
提示:命令中的
yes |前缀会自动同意所有SDK许可协议,避免构建因许可验证失败中断。
3. 固定Cordova构建的Build Tools版本
修改项目根目录的config.xml,在Android平台配置块中追加版本指定参数,防止构建时自动调用31.0.0版本:
<platform name="android"> <preference name="android-buildToolsVersion" value="30.0.3" /> <preference name="android-targetSdkVersion" value="30" /> <!-- 保留其他原有Android配置 --> </platform>
4. 验证管道生效
- 确认新增的命令行任务执行顺序在Cordova构建命令之前
- 若使用自托管代理,执行完SDK操作后可重启一次代理服务,清除本地SDK缓存
如果项目必须使用Build Tools 31.0.0版本,将上述步骤中的版本号替换为31.0.0直接重装即可,无需切换其他版本。
内容的提问来源于stack exchange,提问作者patrick2590
相关产品推荐
相关产品推荐

