You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

AppCenter中Android Java项目CI/CD构建失败(错误码1)

AppCenter Android构建失败(错误码1):Build-tools 31.0.0损坏问题解决

问题描述

我在AppCenter为Android Java项目执行CI/CD流程时构建失败,错误码为1,堆栈跟踪如下:

Build-tool 31.0.0 is missing DX at /Users/runner/Library/Android/sdk/build-tools/31.0.0/dx

FAILURE: Build failed with an exception.

* What went wrong:
Could not determine the dependencies of task ':app:mergeStagingAssets'.
Could not resolve all dependencies for configuration ':app:stagingRuntimeClasspath'.
   > Could not create task ':app:minifyReleaseWithR8'.
      > Installed Build Tools revision 31.0.0 is corrupted. Remove and install again using the SDK Manager.

* 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.

* Get more help at https://help.gradle.org

BUILD FAILED in 32s
Error: /Users/runner/work/1/s/gradlew failed with return code: 1
    at ChildProcess.<anonymous> (/Users/runner/work/_tasks/Gradle_8d8eebd8-2b94-4c97-85af-839254cc6da4/1.128.0/node_modules/vsts-task-lib/toolrunner.js:569:30)
    at emitTwo (events.js:106:13)
    at ChildProcess.emit (events.js:191:7)
    at maybeClose (internal/child_process.js:920:16)
    at Socket.<anonymous> (internal/child_process.js:351:11)
    at emitOne (events.js:96:13)
    at Socket.emit (events.js:188:7)
    at Pipe._handle.close [as _onclose] (net.js:509:12)
##[error]Error: /Users/runner/work/1/s/gradlew failed with return code: 1
...

解决方案

方法1:手动创建DX软链接

Build-tools 31.0.0中官方用d8替代了dx,但旧版Gradle仍会查找dx文件。在AppCenter的构建前置脚本中添加以下命令:

ln -s $ANDROID_SDK_ROOT/build-tools/31.0.0/d8 $ANDROID_SDK_ROOT/build-tools/31.0.0/dx
ln -s $ANDROID_SDK_ROOT/build-tools/31.0.0/lib/d8.jar $ANDROID_SDK_ROOT/build-tools/31.0.0/lib/dx.jar

方法2:降级Build-tools版本

修改项目根目录的build.gradle文件,将Build-tools切换到30.0.3等稳定旧版本:

android {
    buildToolsVersion "30.0.3"
}

buildscript {
    dependencies {
        // 适配Build-tools 30.0.3的AGP版本
        classpath 'com.android.tools.build:gradle:7.0.4'
    }
}

方法3:升级Gradle与AGP版本

若要保留Build-tools 31.0.0,需升级Gradle到7.0+、AGP到7.0+以适配d8工具:

  1. 修改gradle/wrapper/gradle-wrapper.properties:
    distributionUrl=https\://services.gradle.org/distributions/gradle-7.0.2-all.zip
    
  2. 修改项目根目录build.gradle:
    buildscript {
        dependencies {
            classpath 'com.android.tools.build:gradle:7.0.2'
        }
    }
    

内容的提问来源于stack exchange,提问作者Ali Kashan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.25 16:57:21