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

项目Gradle出现Unable to merge dex错误,启用MultiDex后仍报错

解决Android Dex合并及Multidex生成失败的问题

我之前踩过一模一样的坑,给你整理几个亲测有效的解决方案,按顺序试试:

  • 先彻底清理项目缓存
    很多时候这类dex问题都是缓存搞的鬼。先执行命令行:

    ./gradlew clean
    

    然后手动删除项目根目录下的.gradle文件夹、app模块里的build文件夹,最后重新执行./gradlew assembleDebug试试。

  • 检查并移除重复依赖
    重复或版本不一致的依赖是dex合并失败的重灾区。用这个命令查看你的依赖树:

    ./gradlew app:dependencies
    

    重点看com.android.support(或AndroidX)相关的库,有没有多个版本同时存在,或者某个第三方库偷偷引入了旧版本的依赖。比如发现某个库自带了旧版support-v4,可以这样排除:

    implementation('第三方库的依赖') {
        exclude group: 'com.android.support', module: 'support-v4'
    }
    
  • 确保Multidex配置完整
    只加multiDexEnabled true是不够的:

    1. 如果你的minSdkVersion低于21,必须添加Multidex依赖:
      // 非AndroidX项目
      implementation 'com.android.support:multidex:1.0.3'
      // AndroidX项目
      implementation 'androidx.multidex:multidex:2.0.1'
      
    2. 要么让你的Application类继承MultiDexApplication,要么在自定义Application的attachBaseContext方法里手动初始化:
      @Override
      protected void attachBaseContext(Context base) {
          super.attachBaseContext(base);
          MultiDex.install(this);
      }
      
  • 对齐Gradle插件与SDK版本
    版本不兼容也会导致这类IO异常。比如Gradle插件4.0+建议搭配buildToolsVersion 29.0.2及以上,如果你用的是旧版插件,试着升级到稳定版,同时同步更新buildToolsVersion和compileSdkVersion。

  • 检查AndroidX与Support库混用情况
    如果你的项目已经迁移到AndroidX,绝对不能同时保留support库的依赖,全部替换成对应的AndroidX库,否则会出现各种冲突。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.21 03:34:35