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

Android开发:如何修复编译时出现的Multiple dex files重复定义异常

嘿,这个Dex合并冲突的问题我太熟了!你遇到的是典型的重复类定义错误,根源是项目里多次引入了包含MqttAndroidClient的MQTT相关库,导致打包时Dex文件里出现了同一个类的多个副本。先把你碰到的错误信息贴出来方便对照:

Error:com.android.dex.DexException: Multiple dex files define Lorg/eclipse/paho/android/service/MqttAndroidClient$MyServiceConnection;
FAILURE: Build failed with an exception.

  • 出错原因:任务':app:transformDexArchiveWithExternalLibsDexMergerForDebug'执行失败。

java.lang.RuntimeException: com.android.builder.dexing.DexArchiveMergerException: 无法合并dex

  • 建议:使用--info或--debug选项获取更多详细信息。

下面是一步步的解决办法,亲测有效:

1. 先找出重复的依赖

首先得搞清楚到底是哪个依赖重复引入了MQTT库。在Android Studio的终端里执行这个Gradle命令,生成项目的依赖树:

./gradlew app:dependencies

在输出结果里搜索org.eclipse.paho,你就能看到哪些依赖(不管是直接还是间接的)引入了org.eclipse.paho.android.service这个库——大概率是同一个库被加了两次,或者不同的第三方库都带了这个依赖。

2. 移除重复的依赖

找到重复项后,就可以用Gradle的exclude语法把多余的依赖去掉。举个例子:
如果你的项目里同时直接引入了paho.android.service,又有一个第三方库也间接带了这个库,就可以修改第三方库的依赖声明:

implementation('com.example:some-third-party-lib:1.0.0') {
    // 排除重复的MQTT服务库
    exclude group: 'org.eclipse.paho', module: 'org.eclipse.paho.android.service'
}

或者如果是同一个库被不同依赖引入了不同版本,你可以强制指定一个统一版本,避免冲突:

configurations.all {
    resolutionStrategy.force 'org.eclipse.paho:org.eclipse.paho.android.service:1.1.1' // 替换成你需要的稳定版本
}
3. 清理缓存并重新构建

调整完依赖后,一定要清理旧的构建缓存,不然可能还会有残留问题:

  • 点击Android Studio顶部菜单栏的Build > Clean Project
  • 等清理完成后,再点击Build > Rebuild Project
4. 必要时开启MultiDex支持

如果你的项目方法数确实超过了65536的限制(不过你的错误更偏向重复类,但保险起见可以检查下),需要开启MultiDex:

  1. 在Module级别的build.gradle里添加依赖:
implementation 'com.android.support:multidex:1.0.3'
  1. 在defaultConfig块里开启MultiDex:
defaultConfig {
    multiDexEnabled true
}
  1. 如果有自定义的Application类,让它继承MultiDexApplication,或者在attachBaseContext方法里初始化:
public class MyApp extends Application {
    @Override
    protected void attachBaseContext(Context base) {
        super.attachBaseContext(base);
        MultiDex.install(this);
    }
}

按照这个流程走下来,基本就能解决这个Dex合并的问题啦~

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.20 11:49:47