Azure DevOps ionic Android Build 错误“Build-tool 31.0.0 is missing DX at /usr/local/lib/android/sdk/bu
Posted
技术标签:
【中文标题】Azure DevOps ionic Android Build 错误“Build-tool 31.0.0 is missing DX at /usr/local/lib/android/sdk/build-tools/31.0.0/dx”【英文标题】: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" 【发布时间】:2021-10-04 21:46:24 【问题描述】:我最近在尝试为 android 构建 apk 时遇到了 Azure CI 管道问题。
我收到以下错误:
Build-tool 31.0.0 在 /usr/local/lib/android/sdk/build-tools/31.0.0/dx 处缺少 DX
FAILURE:构建失败并出现异常。
出了什么问题: 无法确定任务 ':app:compileReleaseJavaWithJavac' 的依赖关系。安装的构建工具版本 31.0.0 已损坏。使用 SDK 管理器删除并重新安装。
解决方法:当我将 package.json 文件中的“cordova-android”版本从“9.0.0”更改为“8.1.0”时,我找到了一种解决方法,或者您可以使用“ionic cordova add andorid@8.1.0”而不是“ionic cordova add andorid”。
希望对你有帮助。
【问题讨论】:
【参考方案1】:发生这种情况是因为 Android SDK Build Tools 31.0.0 中缺少 dx
文件并被 d8
文件替换。尝试通过以下方式修改 Android SDK Build Tools 31.0.0:
-
在 Android SDK Build Tools 31.0.0 文件夹(例如:
C:\Users\Me\AppData\Local\Android\Sdk\build-tools\31.0.0
)中,创建d8.bat
的副本并将其重命名为dx.bat
。
在 lib 文件夹中,创建 d8.jar
的副本并将其重命名为 dx.jar
。
【讨论】:
是的,如果您在本地机器上进行构建,这是一个很好的解决方案。当您在 DevOps 管道上构建时,我提出的建议会有所帮助。 这是对我的修复。我不确定我是否了解 DevOps 管道解决方案,但能够进行本地构建肯定是任何良好开发流程的第一步。 啊,对不起@el07 你是对的。也许是因为cordova-android 9.0.0
放弃了 Travis CI,它总是会搜索最新的 Android 构建工具。同时cordova-android 8.1.0
仍在使用 Travis CI,默认情况下它将使用 Android Build Tools 28.0.3。
但是 Android SDK Build Tools 31.0.0 文件夹在哪里?请记住,Cordova 适用于对 Android、ios 等一无所知的网络开发人员。
这取决于您的设置@Distortum。如果您知道您的 Android SDK 位置,只需找到文件夹 build-tools/31.0.0。如果您不知道位置,请在 Android Studio 或环境设置中检查。以上是关于Azure DevOps ionic Android Build 错误“Build-tool 31.0.0 is missing DX at /usr/local/lib/android/sdk/bu的主要内容,如果未能解决你的问题,请参考以下文章
如何将 Azure DevOps Extension for Azure CLI 与 Azure DevOps Server 一起使用?
Azure DevOps系列Azure DevOps构建.NET EFCore应用程序
azure devops cloud 和 azure devops server 2019 之间的区别
如何从 Azure Devops 服务器迁移到 Azure Devops 服务中的现有组织