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

Android项目运行时出现Duplicate class类重复错误求助

解决Android重复类依赖问题

问题原因

你遇到的重复类错误,是因为项目中不同依赖库间接引入了不同版本的Android Support库(比如support-v13:25.0.0和support-compat:28.0.0),导致类定义冲突。

解决步骤

1. 定位重复依赖的来源

在项目根目录执行以下命令,生成完整依赖树,找出引入旧版本support-v13的具体依赖:

./gradlew app:dependencies

搜索support-v13,即可看到是哪个依赖间接引入了25.0.0版本的库。

2. 强制统一所有Support库版本

在build.gradle(Module: app)的android块下添加配置,强制所有Support库使用28.0.0版本,从根源避免版本冲突:

android {
    // ... 原有配置
    
    configurations.all {
        resolutionStrategy {
            force 'com.android.support:support-v13:28.0.0'
            force 'com.android.support:support-compat:28.0.0'
            force 'com.android.support:support-core-utils:28.0.0'
            force 'com.android.support:support-core-ui:28.0.0'
        }
    }
}

3. 排除特定依赖中的旧Support模块

如果强制版本后仍有冲突,找到引入旧版本的依赖,手动排除其中的Support模块。比如假设io.nlopez.smartlocation:library:3.3.3是冲突来源,修改该依赖:

implementation('io.nlopez.smartlocation:library:3.3.3') {
    exclude group: 'com.android.support', module: 'support-v13'
    exclude group: 'com.android.support', module: 'support-compat'
}

同理,对其他排查出的冲突依赖做同样处理。

4. 清理重建项目

执行以下操作确保修改生效:

  • 点击Android Studio工具栏File -> Invalidate Caches...,选择Invalidate and Restart。
  • 执行./gradlew clean清理构建缓存,再重新编译项目。

额外优化建议

  • 项目中com.google.android.gms和com.google.firebase版本不一致(11.8.0与11.4.2),建议统一为同一版本(比如11.8.0),避免潜在冲突。
  • 考虑逐步迁移到AndroidX,Support库已停止维护,AndroidX是官方推荐的替代方案。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.09 16:50:25