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

Android运行时Dex处理失败报错求助:编译正常但运行出错

解决Android Run时DexArchiveBuilderException错误的方案

你遇到的这个问题很典型——Build/Clean都正常,唯独Run时触发dex编译失败,大概率是Instant Run的缓存或配置冲突导致的。下面是几个经过社区验证的解决办法,按顺序尝试:

1. 先禁用Instant Run试试

Instant Run的热替换逻辑有时候会和项目的dex处理流程打架,尤其是多模块或有自定义transform的项目:

  • 打开Android Studio的File > Settings > Build, Execution, Deployment > Instant Run
  • 取消勾选Enable Instant Run to hot swap code/resource changes on deploy
  • 重启Android Studio,再重新Run项目

2. 清理Instant Run缓存

如果不想直接禁用,先清理它的缓存文件:

  • 关闭Android Studio
  • 找到对应路径删除Instant Run缓存:
    • macOS:~/Library/Android/sdk/build-tools/<你的build-tools版本号>/instant-run
    • Windows:C:\Users\<你的用户名>\AppData\Local\Android\Sdk\build-tools\<你的build-tools版本号>\instant-run
  • 同时删掉项目根目录的.idea、build文件夹,以及各模块下的build文件夹
  • 重新打开项目,执行Build > Clean Project后再Run

3. 检查MultiDex配置

如果你的项目minSdkVersion低于21,必须确保MultiDex配置正确:

  • 在Module级build.gradle里开启MultiDex:
    android {
        defaultConfig {
            multiDexEnabled true
        }
    }
    dependencies {
        // 用AndroidX的话换成androidx.multidex:multidex:2.0.1
        implementation 'com.android.support:multidex:1.0.3'
    }
    

4. 确认Java版本兼容性

Java版本不匹配也可能引发dex编译错误:

  • 在Module级build.gradle里指定Java版本:
    android {
        compileOptions {
            sourceCompatibility JavaVersion.VERSION_1_8
            targetCompatibility JavaVersion.VERSION_1_8
        }
    }
    
  • 同时确保Project级build.gradle里的gradle插件版本和你的Android Studio版本匹配

5. 排查第三方依赖冲突

有些第三方库可能包含重复的class文件,或者和项目代码冲突:

  • 执行命令查看依赖树:macOS/Linux用./gradlew app:dependencies,Windows用gradlew app:dependencies
  • 找到重复的依赖,用exclude group: 'xxx', module: 'xxx'排除冗余模块

如果以上方法都没解决,试试更新Android Studio到最新稳定版,或者重新同步项目(File > Sync Project with Gradle Files)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.19 04:00:57