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

Android Studio编译出现support包duplicate class类重复报错求解决方案

问题根源

冲突是由于项目内不同依赖传递引入了版本不一致的Android Support官方支持包导致的:你显式引入的com.android.support:appcompat-v7:28.0.0会附带高版本的com.android.support:support-compat:28.0.0,而你引入的lifecycle、navigation等arch组件会传递依赖旧版的com.android.support:support-v4:22.2.0,两个包存在完全相同路径的类,编译时就会触发重复类报错。

解决方案

按优先级尝试以下两种方法即可:

方法1:全局强制统一Support包版本(最适合新手)

直接在项目根目录的build.gradle文件中添加全局配置,强制所有依赖的Support包都统一使用28.0.0版本,无需修改单个依赖的配置:
找到根目录build.gradle里的allprojects代码块,添加如下配置:

allprojects {
    // 原有配置无需修改,新增以下configurations配置
    configurations.all {
        resolutionStrategy {
            // 强制所有Support相关包统一使用28.0.0版本
            force 'com.android.support:support-v4:28.0.0'
            force 'com.android.support:support-compat:28.0.0'
            force 'com.android.support:appcompat-v7:28.0.0'
            force 'com.android.support:design:28.0.0'
        }
    }
}

配置完成后点击Android Studio右上角的Sync Now同步项目,再重新编译即可解决冲突。

方法2:手动排除冲突的传递依赖

如果方法1不生效,可以在传递了旧版Support包的依赖上手动排除support-v4组件,修改你app模块级build.gradle(就是你贴出dependencies代码的那个文件)的配置如下:

dependencies {
    implementation 'com.android.support:appcompat-v7:28.0.0'
    //implementation 'com.android.support:design:28.0.0'
    implementation 'com.android.support.constraint:constraint-layout:2.0.4'
    // lifecycle依赖排除旧版support-v4
    implementation ('android.arch.lifecycle:livedata:1.1.1') {
        exclude group: 'com.android.support', module: 'support-v4'
    }
    implementation ('android.arch.lifecycle:viewmodel:1.1.1') {
        exclude group: 'com.android.support', module: 'support-v4'
    }
    // navigation依赖排除旧版support-v4
    implementation ('android.arch.navigation:navigation-fragment:1.0.0') {
        exclude group: 'com.android.support', module: 'support-v4'
    }
    implementation ('android.arch.navigation:navigation-ui:1.0.0') {
        exclude group: 'com.android.support', module: 'support-v4'
    }
    testImplementation 'junit:junit:4.+'
    androidTestImplementation 'com.android.support.test:runner:1.0.2'
    androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
}

同步项目后重新编译即可。

补充建议

Google已停止维护旧版Support包,后续新建项目建议直接使用Jetpack(AndroidX)替代Support包,可从根源避免这类版本冲突问题。

内容的提问来源于stack exchange,提问作者Derop De Rop

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 20:24:03