复制 class kotlin classes kotlin 版本 1.3.70

Duplicate class kotlin classes kotlin version 1.3.70

Kotlin 最新版本 1.3.70 中的 MoshiPack 库添加到 gradle.build 应用程序时出错 摩西包

implementation 'com.daveanthonythomas.moshipack:moshipack:1.0.1'

错误信息

Duplicate class kotlin.reflect.KClasses found in modules jetified-kotlin-reflect-1.1.1.jar (org.jetbrains.kotlin:kotlin-reflect:1.1.1) and jetified-kotlin-stdlib-1.3.70.jar (org.jetbrains.kotlin:kotlin-stdlib:1.3.70)

关于如何解决这个问题的任何建议或我可以在 Kotlin 中使用的任何其他库,以便我可以使用 Message Pack。

提前致谢

我认为解决它的唯一方法是回到 kotlin 版本 1.3.61,因此删除 1.3.70 并使用 1.3.61

尝试将其添加到您的依赖项中:

    implementation "org.jetbrains.kotlin:kotlin-reflect:$kotlin_version"

并确保您在文件>项目结构...>SDK 位置

下指定了 Android NDK 位置

启动 Kotlin 1.3.70 KClass 上的一些基本有用成员包含在 Kotlin 标准库中(它们在 kotlin-reflect 之前)。

参见 https://blog.jetbrains.com/kotlin/2020/03/kotlin-1-3-70-released/

中的 "Working with KClass"

在你的情况下 MoshiPack 添加了一个与标准库冲突的 kotlin-reflect 库。

您应该排除传递依赖以解决冲突。

如果你使用 KotlinDSL,在 build.gradle.kts:

implementation ("com.daveanthonythomas.moshipack:moshipack:1.0.1") {
    exclude(group = "org.jetbrains.kotlin", module = "kotlin-reflect")
}

如果你使用Groovy,在build.gradle:

implementation ('com.daveanthonythomas.moshipack:moshipack:1.0.1') {
    exclude group: 'org.jetbrains.kotlin', module: 'kotlin-reflect'
}

我试过了,很管用 实施“org.jetbrains.kotlin:kotlin-reflect:1.4.10”