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

Gradle重构后出现transformClassesWithMultidexlistForDebug构建错误求助

解决Multidex构建错误:Duplicate zip entry in support design库

嘿,我之前帮不少开发者搞定过这类Multidex打包冲突的问题,你的错误核心是重复的类文件打断了multidexlist的生成流程——虽然已经配置了Multidex,但重复的zip条目会让打包工具卡壳。下面是几个针对性的排查和解决步骤:

1. 先揪出重复的依赖

首先执行Gradle命令查看完整的依赖树,定位到底是哪个模块或者第三方库重复引入了support-design:

./gradlew app:dependencies

在输出里搜com.android.support:design,你大概率会发现不同地方引入了不同版本的design库,或者同一个库被多次引用。

2. 统一依赖版本并排除重复

在你的build.gradle (Module: app)里,先把所有support库的版本统一,然后排除第三方库自带的重复依赖:

// 先定义统一的版本号,方便维护
ext {
    supportLibVersion = '28.0.0' // 换成你项目实际用的稳定版本
}

dependencies {
    // 只保留这一处design依赖
    implementation "com.android.support:design:${supportLibVersion}"
    
    // 对每个第三方库,排除它自带的design依赖,举个例子:
    implementation('com.example:some-third-party-lib:1.0.0') {
        exclude group: 'com.android.support', module: 'design'
    }
}

如果是多模块项目,记得所有模块都要使用同一个版本的support库,别让跨模块的版本不一致搞事情。

3. 彻底清理缓存再构建

Android Studio自带的Clean + Rebuild有时候不够彻底,试试用Gradle命令清空缓存并刷新依赖:

./gradlew clean
./gradlew build --refresh-dependencies

这会把Gradle缓存里残留的旧依赖文件全清掉,重新拉取最新的依赖。

4. 检查Desugar的问题

你的错误里提到了desugar转换,可能是Desugar处理重复类时出了bug。如果你的项目不是必须用Desugar,可以暂时关掉它试试,在build.gradle (Module: app)的android块里加:

android {
    compileOptions {
        coreLibraryDesugaringEnabled false
    }
}

如果必须用Desugar,那就把Gradle插件升级到最新的稳定版,很多这类bug在新版本里已经被修复了。

额外提醒:别同时用本地jar和Gradle依赖

如果你的项目里手动加过support-design.jar这类本地jar包,同时又通过Gradle引入了design库,那肯定会重复。删掉本地的jar包,只保留Gradle依赖就行。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.20 06:56:29