Azure DevOps Pipelines 上的 Android SDK 构建工具

Posted

技术标签:

【中文标题】Azure DevOps Pipelines 上的 Android SDK 构建工具【英文标题】:Android SDK Build Tools on Azure DevOps Pipelines 【发布时间】:2021-10-28 10:00:28 【问题描述】:

我在尝试在 Azure DevOps 中创建 android CI/CD 时遇到了严重问题。我的应用程序是一个带有 Cordova 的 Android 应用程序。

当我在 Azure DevOps 中构建它时,我的管道有一条错误消息:

无法确定任务':app:compileReleaseJavaWithJavac'的依赖关系。

安装的构建工具版本 31.0.0 已损坏。使用 SDK 管理器删除并重新安装。

我该如何解决这个问题?

【问题讨论】:

好像你也有这个问题。请先检查一下。发生这种情况是因为 Android Build Tools 31.0.0 Azure DevOps ionic Android Build Error "Build-tool 31.0.0 is missing DX at /usr/local/lib/android/sdk/build-tools/31.0.0/dx" 中缺少文件 【参考方案1】:

安装的构建工具版本 31.0.0 已损坏。使用 SDK 管理器删除并重新安装。

这似乎是 Android 构建工具版本 31.0.0 中的已知问题。

对于变通方法,您可以使用较低版本的构建工具。

在 Azure DevOps Pipeline 中,您可以使用以下脚本卸载 Build Tool 版本:

steps:
- script: '$ANDROID_HOME/tools/bin/sdkmanager --uninstall ''build-tools;31.0.0'''
  displayName: 'Command Line Script'

或者您可以在项目中将 buildToolsVersion 定义为 30.0.3

更详细的信息可以参考这张票:Android Studio error “Installed Build Tools revision 31.0.0 is corrupted”

【讨论】:

【参考方案2】:

当您尝试使用cordova android 10.0.0 或以下版本时,会出现版本31.0.0 的sdk 错误

请运行以下命令:-

cordova 平台 rm android 科尔多瓦平台添加android@10.1.0 科尔多瓦构建安卓

您也可以查看使用 cordova 10.1.0 的发行说明(无白名单)

【讨论】:

以上是关于Azure DevOps Pipelines 上的 Android SDK 构建工具的主要内容,如果未能解决你的问题,请参考以下文章

Azure Pipelines 托管代理无法访问 DevOps 项目源

Azure DevOps Pipelines 中的条件阶段执行

如何在 Azure DevOps Pipelines 上指定 Android SDK 构建工具版本

Azure DevOps -> Pipelines -> Library -> 访问 Azure Key Vault -> Key Vault 不允许从所有网络访问

Azure DevOps Pipelines - 仅在上一次运行成功时运行 YAML 管道

在 Azure DevOps Git 存储库中使用来自 Azure Pipelines 的 Python 包版本标记 Git 存储库