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

Android构建:app:desugarDebugFileDependencies任务执行失败解决方法

问题说明

Android项目Gradle构建中断,核心报错信息如下:

  • 构建终止提示:FAILURE: Build failed with an exception.
  • 失败任务::app:desugarDebugFileDependencies

执行com.android.build.gradle.internal.tasks.Workers$ActionFacade逻辑时发生故障,触发Error while dexing(dex打包阶段异常)。

排查与解决步骤

优先执行带完整栈信息的构建命令定位根因,不要盲目改配置:在项目根目录终端运行./gradlew assembleDebug --stacktrace,从完整报错栈里确认具体触发点,再对照以下常见场景修复:

场景1:Java/JDK版本不匹配

Desugar的核心作用是将高版本Java字节码转换为Android系统兼容的低版本字节码,版本不匹配是该类报错的最高发原因:

  • 核对AGP(Android Gradle插件)和JDK版本的对应关系:AGP 7.0+ 必须使用JDK11,AGP 8.0+必须使用JDK17,禁止跨版本混用。
  • 检查app模块build.gradle中的编译配置,确保字节码版本和所用JDK一致,配置参考:
android {
    compileOptions {
        sourceCompatibility JavaVersion.VERSION_17
        targetCompatibility JavaVersion.VERSION_17
    }
    // 项目使用Kotlin时需补充以下配置
    kotlinOptions {
        jvmTarget = "17"
    }
}
  • 确认Android Studio的Gradle JDK配置正确:打开Settings > Build, Execution, Deployment > Build Tools > Gradle,选择和项目匹配的JDK版本,不要误用系统中安装的其他低版本/高版本JDK。

场景2:依赖冲突或文件损坏

  • 执行./gradlew app:dependencies打印完整依赖树,排查是否存在重复引入、版本号冲突的依赖包,通过exclude规则排除重复的冲突依赖即可。
  • 检查app/libs目录下本地引入的jar/aar包是否完整,若存在下载不完整、包内class文件损坏的情况,替换为完整包或改用官方远程依赖版本。
  • 若开启混淆后才出现该报错,临时将minifyEnabled设为false重新构建,确认是否为混淆规则误删、误改了必要类导致,补充对应混淆规则即可。

场景3:方法数超限触发dex异常

  • 若项目minSdkVersion小于21,需开启multidex支持:在app模块build.gradle的defaultConfig块中添加multiDexEnabled true,在dependencies中添加implementation 'androidx.multidex:multidex:2.0.1',自定义Application类需重写attachBaseContext方法,在方法内调用MultiDex.install(this)。

场景4:构建缓存损坏

  • 执行./gradlew clean清理项目构建产物,删除项目根目录下的.gradle文件夹,再通过Android Studio菜单栏File > Invalidate Caches... 选择Invalidate and Restart清空IDE缓存后重新构建。
  • 若报错指向某个具体依赖包,可删除用户目录下.gradle/caches中对应依赖的缓存文件夹,重新同步拉取依赖即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.27 21:21:23