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

Android项目依赖冲突:ViewModelLazy重复类问题求助

解决Android依赖冲突:Duplicate class androidx.lifecycle.ViewModelLazy

问题原因

你遇到的重复类错误是因为com.firebaseui:firebase-ui-database:8.0.2依赖了旧版本的androidx.lifecycle:lifecycle-viewmodel-ktx:2.2.0,而androidx.paging:paging-runtime:3.1.1依赖了更高版本的androidx.lifecycle:lifecycle-viewmodel:2.5.1,两个版本的库包含相同类,导致编译冲突。android.enableJetifier=true仅用于转换旧Support库到AndroidX,无法解决同一AndroidX库的版本冲突问题。

解决方法

方法一:排除Firebase UI中的冲突依赖

修改com.firebaseui:firebase-ui-database的依赖声明,排除其中的旧版本lifecycle库,让它使用项目中其他依赖引入的高版本:

implementation ('com.firebaseui:firebase-ui-database:8.0.2') {
    exclude group: 'androidx.lifecycle', module: 'lifecycle-viewmodel-ktx'
    exclude group: 'androidx.lifecycle', module: 'lifecycle-viewmodel'
}

方法二:强制统一lifecycle库版本

在build.gradle的android块中添加版本强制策略,让所有依赖都使用指定的lifecycle版本:

android {
    compileSdk 32

    defaultConfig {
        // 原有配置...
    }

    buildTypes {
        // 原有配置...
    }

    compileOptions {
        // 原有配置...
    }

    // 添加以下配置
    configurations.all {
        resolutionStrategy {
            force 'androidx.lifecycle:lifecycle-viewmodel:2.5.1'
            force 'androidx.lifecycle:lifecycle-viewmodel-ktx:2.5.1'
        }
    }
}

验证冲突是否解决

执行Gradle依赖树命令,确认lifecycle相关依赖版本已统一:

  • Windows:gradlew.bat app:dependencies
  • Mac/Linux:./gradlew app:dependencies

搜索androidx.lifecycle:lifecycle-viewmodel和androidx.lifecycle:lifecycle-viewmodel-ktx,确认所有条目都是2.5.1版本即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.07 12:40:24