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

Android项目中com.android.support:multidex依赖版本冲突如何解决?

解决Android项目中multidex依赖版本冲突问题

这个问题我做Android项目时也碰到过,核心原因就是你的主应用模块和测试依赖库(这里是dexmaker-mockito)引用的multidex版本不一致——主应用用的是1.0.3,而测试库依赖的是1.0.1,Gradle在构建时无法确定该用哪个版本,所以抛出了冲突错误。

下面给你几个实用的解决办法,按优先级推荐:

方法一:强制全局统一multidex版本

这是最直接的方案,让Gradle忽略所有依赖库指定的multidex版本,强制使用你主应用的版本。在app模块的build.gradle中添加配置:

android {
    // 保留你原有的配置
    ...
    dexOptions {
        javaMaxHeapSize "4g"
    }
    ...
}

// 添加这个配置块,强制统一multidex版本
configurations.all {
    resolutionStrategy.force 'com.android.support:multidex:1.0.3'
}

dependencies {
    ...
    compile 'com.linkedin.dexmaker:dexmaker-mockito:2.16.0'
    ...
}

这样所有依赖都会使用你指定的1.0.3版本,彻底解决版本不一致的问题。

方法二:排除测试依赖中的multidex

如果你不想全局强制版本,可以在引入dexmaker-mockito时,排除它自带的multidex依赖,让它复用主应用的版本:

dependencies {
    ...
    compile('com.linkedin.dexmaker:dexmaker-mockito:2.16.0') {
        exclude group: 'com.android.support', module: 'multidex'
    }
    ...
}

这个方案更精准,只针对冲突的依赖做处理,不会影响其他库的版本选择。

方法三:升级测试依赖库(可选)

你可以查一下dexmaker-mockito的最新版本,看看新版本是否已经将multidex依赖升级到了1.0.3。如果有兼容的新版本,直接替换依赖版本即可:

dependencies {
    ...
    // 替换为最新兼容的版本号
    compile 'com.linkedin.dexmaker:dexmaker-mockito:最新版本号'
    ...
}

不过这个方法依赖于库的维护进度,如果最新版仍未更新multidex版本,还是前两个方案更可靠。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.21 08:11:04