首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >模块中发现的问题复制类androidx.lifecycle.viewmodel

模块中发现的问题复制类androidx.lifecycle.viewmodel
EN

Stack Overflow用户
提问于 2021-11-02 23:12:41
回答 10查看 50.5K关注 0票数 106

当我试图运行模拟器时,我得到了这些错误。

在模块jetified-lifecycle-viewmodel-ktx-2.3.1-runtime (androidx.lifecycle:lifecycle-viewmodel-ktx:2.3.1)和生命周期中发现的重复类androidx.lifecycle.ViewModelLazy -视图模型-2.4.0-运行时(androidx.lifecycle:lifecycle-viewmodel:2.4.0) 在模块jetified-lifecycle-viewmodel-ktx-2.3.1-runtime (androidx.lifecycle:lifecycle-viewmodel-ktx:2.3.1)和生命周期中发现的重复类androidx.lifecycle.ViewModelProviderKt -视图模型-2.4.0-运行时(androidx.lifecycle:lifecycle-viewmodel:2.4.0) 在模块jetified-lifecycle-viewmodel-ktx-2.3.1-runtime (androidx.lifecycle:lifecycle-viewmodel-ktx:2.3.1)和生命周期中发现的重复类androidx.lifecycle.ViewTreeViewModelKt -视图模型-2.4.0-运行时(androidx.lifecycle:lifecycle-viewmodel:2.4.0)

注意:这并不是android仿真器所特有的,而是gradle构建的问题。

EN

回答 10

Stack Overflow用户

发布于 2021-11-03 22:11:12

最有可能的是,您的一个依赖项使用kotlin版本的viewmodel库,而您的代码使用java版本。

为所有依赖项指定两个以强制执行最新版本:

代码语言:javascript
复制
def lifecycle_version = "2.4.0"
implementation "androidx.lifecycle:lifecycle-viewmodel:$lifecycle_version"
implementation "androidx.lifecycle:lifecycle-viewmodel-ktx:$lifecycle_version"
票数 147
EN

Stack Overflow用户

发布于 2021-11-11 04:44:58

我也遇到了同样的问题,我只添加了一行代码就解决了这个问题。

代码语言:javascript
复制
implementation 'androidx.lifecycle:lifecycle-viewmodel-ktx:2.4.0'
票数 94
EN

Stack Overflow用户

发布于 2021-12-14 12:22:39

我认为消除重复类比添加新类更好,所以我将在这里发布我的解决方案:

代码语言:javascript
复制
configurations {
    all {
        exclude group: 'androidx.lifecycle', module: 'lifecycle-viewmodel-ktx'
    }
}

这些代码行需要添加到项目级别的build.gradle文件中--构建错误将随着内存的浪费而消失(有点,但仍然如此)。

奇怪而难以理解的行为。我是在将Kotlin库添加到项目之后得到的,后来决定用Java版本替换它。如果您转到.gradle文件夹,您可以在那里找到它,但我不确定从那里删除它是否是个好主意,因为它可能在其他库中使用。奇怪的是,gradle或AndroidStudio不能自动解决这个问题,因为build.gradle文件中只指定了build.gradle的依赖项。

票数 23
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69817925

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档