在模块lifescle-viewmodel-2.5.0-runtime中发现重复的类androidx.lifecycle.ViewModelLazy

kfgdxczn  于 2023-09-28  发布在  Android
关注(0)|答案(8)|浏览(105)

我正在使用Android Studio Chipmunk| 2021.2.1补丁2.
当我使用implementation 'androidx.appcompat:appcompat:1.5.0'版本时,我得到以下错误。
在模块lifecycle-viewmodel-2.5.0-runtime(androidx.lifecycle:lifecycle-viewmodel:2.5.0)和lifecycle-viewmodel-ktx-2.3.1-runtime(androidx.lifecycle:lifecycle-viewmodel-ktx:2.3.1)中找到重复的类androidx.lifecycle.ViewTreeViewModelKt在模块lifecycle-viewmodel-2.5.0-runtime(androidx.lifecycle:lifecycle-viewmodel:2.5.0)和lifecycle-viewmodel-ktx-2.3.1-runtime(androidx.lifecycle:lifecycle-viewmodel-ktx:2.3.1)中找到重复的类androidx.lifecycle. ViewModelKt
回滚到以前的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"
}

有没有人能帮到类似的错误?
谢谢.

umuewwlo

umuewwlo1#

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

implementation 'androidx.lifecycle:lifecycle-viewmodel-ktx:2.4.0'
r6hnlfcb

r6hnlfcb2#

我也有这个问题。显然,这是一个专门针对1.5.0版的错误,它对生命周期2.3.1有显式依赖,并通过Activity 1.5.0对生命周期2.5.0有传递依赖。将在1.5.1中修复
以下是问题跟踪器参考:https://issuetracker.google.com/issues/242384116
只需回滚到1.4.2,直到它被修复。

yduiuuwa

yduiuuwa3#

在我的情况下,通过添加以下内容解决:

api "androidx.lifecycle:lifecycle-viewmodel-ktx:2.5.1"

来源:https://issuetracker.google.com/issues/238425626

x8diyxa7

x8diyxa74#

这对我很有效

configurations {
    all {
      exclude group: 'androidx.lifecycle', module: 'lifecycle-runtime-ktx'
      exclude group: 'androidx.lifecycle', module: 'lifecycle-viewmodel-ktx'
    }
  }
5uzkadbs

5uzkadbs5#

AppCompat 1.6.0**修复了此漏洞。
(and如果你需要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具有显式依赖性,并通过Activity 1.5.0对Lifecycle 2.5.0具有传递依赖性。
从AppCompat 1.6.0-beta 01开始,它现在显式地依赖于生命周期2.5.1,因此这不再是一个问题。我们也可以将这些bump移植到AppCompat 1.5.1中。

  • 注意事项:

使用Kotlin版本'1.7.20'*

8hhllhi2

8hhllhi26#

最后,这个问题得到了解决。
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

ia2d9nvy

ia2d9nvy7#

我也有这个实现'androidx.appcompat:appcompat:1.5.0'版本
在我的情况下,通过这样做来解决
首先,我将其更新为版本实现'androidx.appcompat:appcompat:1.6.0'
还将targetSdk和minSdk版本更新为33

ig9co6j1

ig9co6j18#

这对我来说很有用->

kotlin_version = '1.7.22
appcompat_version = "1.6.0-beta01"
lifecycle_version = "2.5.1"

相关问题