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

添加lifecycle-runtime-compose引发Kotlin类重复冲突问题求助

解决Jetpack Compose添加lifecycle-runtime-compose依赖后的Kotlin类重复问题

问题根源

添加androidx.lifecycle:lifecycle-runtime-compose:$lifecycle_version后,该依赖的传递依赖引入了kotlin-stdlib-jdk8:1.7.10,与项目中使用的kotlin-stdlib:1.8.10版本冲突,导致重复类错误。

解决步骤

1. 强制统一Kotlin标准库版本

在项目根目录的build.gradle(或新版的settings.gradle.kts)中添加版本强制规则,确保所有依赖都使用项目指定的Kotlin版本对应的标准库:

// 根build.gradle(Groovy语法)
allprojects {
    configurations.all {
        resolutionStrategy {
            force "org.jetbrains.kotlin:kotlin-stdlib:1.8.10"
            force "org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.8.10"
        }
    }
}

如果是KTS语法(build.gradle.kts):

// 根build.gradle.kts
allprojects {
    configurations.all {
        resolutionStrategy {
            force("org.jetbrains.kotlin:kotlin-stdlib:1.8.10")
            force("org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.8.10")
        }
    }
}

2. 排除冲突的传递依赖

如果不想全局强制版本,可以直接在lifecycle-runtime-compose依赖中排除旧版的kotlin-stdlib-jdk8:

// 模块级build.gradle.kts
implementation("androidx.lifecycle:lifecycle-runtime-compose:$lifecycle_version") {
    exclude(group = "org.jetbrains.kotlin", module = "kotlin-stdlib-jdk8")
}

3. 验证依赖兼容性

确保Lifecycle版本与项目的Kotlin、Compose版本匹配:

  • Jetpack Compose 1.4.x 对应 Kotlin 1.8.10
  • Lifecycle 2.6.x+ 完全兼容 Kotlin 1.8.x,若使用旧版Lifecycle,建议升级到2.6.2或更高版本。

4. 清理重建项目

执行以下命令清理缓存并重新编译:

./gradlew clean build

或在Android Studio中点击File -> Invalidate Caches... -> Invalidate and Restart。

内容的提问来源于stack exchange,提问作者Vaishnav Kanhirathingal

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.27 06:28:08