android studio非业务代码报错 Duplicate class kotlin.collections.jdk8.CollectionsJDK8Kt found in modules。
warning:
这篇文章距离上次修改已过193天,其中的内容可能已经有所变动。
这个错误通常表明在构建Android项目时,kotlin.collections.jdk8.Collect
类在不同的库中被定义了两次。这种情况经常发生在以下几种情况中:
- 你的项目和其中一个依赖库都包含了Kotlin标准库的不同版本。
- 你的项目依赖了多个库,而这些库又依赖了包含
kotlin.collections.jdk8.Collect
类的不同版本的Kotlin标准库。
解决方法:
- 确定项目中的所有模块都使用相同版本的Kotlin库。你可以通过在项目的
build.gradle
文件中指定Kotlin版本来统一版本。
buildscript {
ext.kotlin_version = '1.3.72' // 使用相同的版本号
repositories {
google()
jcenter()
}
dependencies {
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
// 其他依赖
}
}
// 应用Kotlin插件
plugins {
id 'kotlin-android' version "$kotlin_version" apply false
}
// 对所有模块使用相同版本的Kotlin库
allprojects {
repositories {
google()
jcenter()
}
}
task clean(type: Delete) {
delete rootProject.buildDir
}
- 如果你无法更改Kotlin版本,尝试排除重复的库。在依赖中使用
exclude
语句排除掉可能导致冲突的库。
dependencies {
implementation 'com.example:library-a:1.0.0' // 排除库A的冲突
implementation('com.example:library-b:1.0.0') {
exclude group: 'com.example', module: 'library-c' // 排除库B中可能引起冲突的库C
}
// 其他依赖
}
- 如果上述方法都不能解决问题,尝试清理和重建项目。在Android Studio中,你可以使用
Build > Clean Project
和Build > Rebuild Project
来尝试解决问题。
总结,解决这个问题的关键是确保项目中的所有Kotlin库都使用相同的版本,并排除掉可能导致版本冲突的库。
评论已关闭