提问人:Halil Ozel 提问时间:8/19/2022 最后编辑:Halil Ozel 更新时间:9/28/2023 访问量:14814
在模块 lifecycle-viewmodel-2.5.0-runtime 中找到重复类 androidx.lifecycle.ViewModelLazy
Duplicate class androidx.lifecycle.ViewModelLazy found in modules lifecycle-viewmodel-2.5.0-runtime
问:
我正在使用 Android Studio 花栗鼠 | 2021.2.1 补丁 2。
使用该版本时出现以下错误。implementation 'androidx.appcompat:appcompat:1.5.0'
在模块中找到重复类 androidx.lifecycle.ViewModelLazy 生命周期视图模型 2.5.0-运行时 (androidx.lifecycle:lifecycle-viewmodel:2.5.0) 和 生命周期视图模型-ktx-2.3.1-运行时 (androidx.lifecycle:生命周期视图模型-ktx:2.3.1)重复类 androidx.lifecycle.ViewTreeViewModelKt 在模块中找到 生命周期视图模型 2.5.0-运行时 (androidx.lifecycle:lifecycle-viewmodel:2.5.0) 和 生命周期视图模型-ktx-2.3.1-运行时 (androidx.lifecycle:生命周期视图模型-ktx:2.3.1)
回滚到以前的版本后,它工作正常。implementation 'androidx.appcompat:appcompat:1.4.2'
build.gradle
:
plugins {
id 'com.android.application'
id 'kotlin-android'
id 'kotlin-kapt'
}
android {
compileSdk 32
defaultConfig {
applicationId "com.halil.ozel.darkmode"
minSdk 28
targetSdk 32
versionCode 1
versionName "1.0"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
kotlinOptions {
jvmTarget = '1.8'
}
buildFeatures {
dataBinding true
}
}
dependencies {
implementation 'androidx.core:core-ktx:1.8.0'
implementation 'androidx.appcompat:appcompat:1.4.2'
implementation 'com.google.android.material:material:1.6.1'
implementation 'androidx.constraintlayout:constraintlayout:2.1.4'
// Preference
implementation "androidx.preference:preference-ktx:1.2.0"
}
谁能帮助解决类似的错误?
谢谢。
答:
我也有这个问题。显然,这是一个专门针对版本 1.5.0 的错误,它明确依赖于 Lifecycle 2.3.1,并通过 Activity 1.5.0 对 Lifecycle 2.5.0 具有传递依赖关系。 它将在 1.5.1 中修复
以下是问题跟踪器参考:https://issuetracker.google.com/issues/242384116
只需回滚到 1.4.2 即可,直到它被修复。
评论
我遇到了同样的问题,我只添加了一行代码就解决了它
implementation 'androidx.lifecycle:lifecycle-viewmodel-ktx:2.4.0'
评论
就我而言,通过添加以下内容来解决:
api "androidx.lifecycle:lifecycle-viewmodel-ktx:2.5.1"
来源 : https://issuetracker.google.com/issues/238425626
评论
终于,这个问题得到了解决。
build.gradle(project)
:
buildscript {
ext.kotlin_version = '1.7.10'
repositories {
google()
mavenCentral()
}
dependencies {
classpath 'com.android.tools.build:gradle:7.2.2'
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
}
}
allprojects {
repositories {
google()
mavenCentral()
}
}
task clean(type: Delete) {
delete rootProject.buildDir
}
build.gradle(app)
:
...
android {
compileSdkVersion 33
defaultConfig {
applicationId "com.halil.ozel.catchthefruits"
minSdkVersion 21
targetSdkVersion 33
versionCode 1
versionName "1.0"
testInstrumentationRunner 'androidx.test.runner.AndroidJUnitRunner'
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
buildFeatures {
dataBinding true
}
}
...
implementation 'androidx.appcompat:appcompat:1.5.1'
...
更多细节:
https://developer.android.com/jetpack/androidx/releases/appcompat
评论
这对我来说很有效
configurations {
all {
exclude group: 'androidx.lifecycle', module: 'lifecycle-runtime-ktx'
exclude group: 'androidx.lifecycle', module: 'lifecycle-viewmodel-ktx'
}
}
评论
build.gradle
android{}
这对我有用 ->
kotlin_version = '1.7.22
appcompat_version = "1.6.0-beta01"
lifecycle_version = "2.5.1"
此错误已在 AppCompat 1.6.0 中修复。
(如果您需要 androidx.lifecycle:lifecycle-viewmodel-ktx,请使用 2.5.1 或更高版本)
implementation "androidx.appcompat:appcompat:1.6.0"
问题描述在这里:https://issuetracker.google.com/issues/242384116。
问题描述摘录:
这是由于 AppCompat 1.5.0 显式依赖 Lifecycle 2.3.1 和对 Lifecycle 2.5.0 的传递依赖关系,通过 活动 1.5.0.
从 AppCompat 1.6.0-beta01 开始,它现在明确依赖于 Lifecycle 2.5.1,因此这不再是问题。我们可以向后移植这些 也遇到了 AppCompat 1.5.1。
注意:
使用 kotlin 版本“1.7.20”
我也有这个实现'androidx.appcompat:appcompat:1.5.0'版本
就我而言,通过这样做解决了
首先,我将其更新为版本实现“androidx.appcompat:appcompat:1.6.0”
还将 targetSdk 和 minSdk 版本更新为 33
评论