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

Android Studio添加底部导航Activity时出现重复类错误求助

解决Android中Duplicate class androidx.lifecycle相关冲突问题

这个错误的核心原因是项目里同时引入了不同版本的androidx.lifecycle:lifecycle-viewmodel和androidx.lifecycle:lifecycle-viewmodel-ktx,两个模块包含完全相同的类文件,导致编译时冲突。android.enableJetifier=true主要用于将旧Support库转换为AndroidX,对同库不同版本的冲突无效。

下面是具体解决方法:

方案1:统一Lifecycle库版本

  • 打开项目根目录的build.gradle(Project级别),在buildscript的ext块里统一声明Lifecycle版本:
buildscript {
    ext {
        lifecycle_version = "2.5.1"
    }
    // 其他原有配置...
}
  • 切换到Module级别的build.gradle,替换原有的Lifecycle依赖,使用统一版本:
// 替换旧的依赖声明
implementation "androidx.lifecycle:lifecycle-viewmodel:$lifecycle_version"
implementation "androidx.lifecycle:lifecycle-viewmodel-ktx:$lifecycle_version"
  • 点击Android Studio右上角的"Sync Now"同步Gradle,之后重新编译项目。

方案2:排除冲突的依赖模块

如果是第三方依赖自动引入了旧版本的lifecycle-viewmodel-ktx,可以在对应依赖声明里排除该模块:

// 示例:假设某第三方库导致冲突,在其依赖中排除旧模块
implementation 'com.example:third-party-lib:1.0.0' {
    exclude group: 'androidx.lifecycle', module: 'lifecycle-viewmodel-ktx'
}
  • 同步Gradle后重新编译。

方案3:定位冲突来源(可选)

如果不确定哪个依赖引入了旧版本库,可通过依赖树排查:

  • 在Android Studio的Terminal中执行命令:
./gradlew app:dependencies
  • 搜索androidx.lifecycle:lifecycle-viewmodel-ktx的所有引用,找到引入2.3.1版本的依赖项,再用方案1或2处理。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.10 07:20:47