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

升级Kotlin 1.8.20和Gradle 8.1.1后遇重复类错误求助

解决Kotlin 1.8.20 + Gradle 8.1.1下的重复类co.touchlab.stately.HelpersJVMKt问题

问题描述

升级Kotlin到1.8.20、Gradle到8.1.1后,执行:app:checkDebugDuplicateClasses任务失败,提示检测到重复类co.touchlab.stately.HelpersJVMKt,分别存在于co.touchlab:stately-common-jvm:2.0.0-rc1和co.touchlab:stately-strict-jvm:2.0.0-rc1两个模块中。

解决方案

1. 定位重复依赖的引入源

先找出是哪个第三方依赖同时引入了这两个冲突包:

  • 在终端执行Gradle命令查看依赖树:
./gradlew app:dependencies
  • 或者在Android Studio的Gradle面板中,找到app -> Tasks -> android -> 运行androidDependencies,在输出结果中搜索stately,定位包含这两个模块的父依赖。

2. 排除冗余依赖

找到根源依赖后,在对应的依赖声明中添加排除规则。例如假设是cache4k引入了冲突依赖,修改如下:

implementation('io.github.reactivecircus.cache4k:cache4k:0.10.0') {
    // 排除其中一个重复模块,优先保留strict或common,需测试功能完整性
    exclude group: 'co.touchlab', module: 'stately-strict-jvm'
}

如果暂时无法定位具体依赖,也可以全局排除其中一个模块,在app/build.gradle的android块外添加:

configurations.all {
    exclude group: 'co.touchlab', module: 'stately-strict-jvm'
}

注意:排除后务必测试应用核心功能,确保没有用到被排除模块中的类。

3. 验证修复

执行以下命令清理并构建项目,确认错误是否消失:

./gradlew clean build

补充说明

Gradle 8.x版本对依赖冲突的检测更加严格,这类重复类问题在旧版本中可能被忽略;同时Kotlin 1.8.20的依赖兼容性要求更高,建议确保所有第三方依赖都适配了当前Kotlin版本。

内容的提问来源于stack exchange,提问作者Fernando Dias

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.23 21:20:19