我正在使用 Android Studio Chipmunk | 2021.2.1 补丁 2.
当我使用
implementation 'androidx.appcompat:appcompat:1.5.0'
版本时,出现以下错误。
在模块中发现重复的类 androidx.lifecycle.ViewModelLazy 生命周期-viewmodel-2.5.0-运行时 (androidx.lifecycle:lifecycle-viewmodel:2.5.0) 和 生命周期-viewmodel-ktx-2.3.1-运行时 (androidx.lifecycle:lifecycle-viewmodel-ktx:2.3.1) 重复类 在模块中找到 androidx.lifecycle.ViewTreeViewModelKt 生命周期-viewmodel-2.5.0-运行时 (androidx.lifecycle:lifecycle-viewmodel:2.5.0) 和 生命周期-viewmodel-ktx-2.3.1-运行时 (androidx.lifecycle:lifecycle-viewmodel-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"
}
任何人都可以帮助解决类似的错误吗?
谢谢。
我有同样的问题,我只添加一行代码就解决了它
implementation 'androidx.lifecycle:lifecycle-viewmodel-ktx:2.4.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,直到修复为止。
就我而言,通过添加以下内容解决:
api "androidx.lifecycle:lifecycle-viewmodel-ktx:2.5.1"
这对我来说效果很好
configurations {
all {
exclude group: 'androidx.lifecycle', module: 'lifecycle-runtime-ktx'
exclude group: 'androidx.lifecycle', module: 'lifecycle-viewmodel-ktx'
}
}
此错误已在 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”
终于解决了这个问题。
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
我也有这个实现'androidx.appcompat:appcompat:1.5.0'版本
就我而言,通过这样做解决了
首先我将其更新为版本实现“androidx.appcompat:appcompat:1.6.0”
还更新了targetSdk和minSdk版本至33
这对我有用->
kotlin_version = '1.7.22
appcompat_version = "1.6.0-beta01"
lifecycle_version = "2.5.1"