【问题标题】: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"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”
【发布时间】: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”。

希望对你有帮助。

【问题讨论】:

    标签: android cordova ionic-framework azure-devops


    【解决方案1】:

    发生这种情况是因为 Android SDK Build Tools 31.0.0 中缺少 dx 文件并被 d8 文件替换。尝试通过以下方式修改 Android SDK Build Tools 31.0.0:

    1. 在 Android SDK Build Tools 31.0.0 文件夹(例如:C:\Users\Me\AppData\Local\Android\Sdk\build-tools\31.0.0)中,创建d8.bat 的副本并将其重命名为dx.bat
    2. 在 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 或环境设置中检查。
    猜你喜欢
    • 1970-01-01
    • 2018-12-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-05-25
    • 1970-01-01
    • 2021-07-13
    相关资源
    最近更新 更多