【问题标题】:Duplicate class kotlin classes kotlin version 1.3.70重复类 kotlin 类 kotlin 版本 1.3.70
【发布时间】:2020-03-12 21:57:09
【问题描述】:

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

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

错误信息

在模块 jetified-kotlin-reflect-1.1.1.jar (org.jetbrains.kotlin:kotlin-reflect:1.1.1) 和 jetified-kotlin-stdlib-1.3.70 中发现重复的类 kotlin.reflect.KClasses。 jar (org.jetbrains.kotlin:kotlin-stdlib:1.3.70)

有关如何解决此问题的任何建议或我可以在Kotlin 中使用的任何其他库,以便我可以使用消息包。

提前致谢

【问题讨论】:

  • 你不能删除 jetified-kotlin-reflect-1.1.1.jar 或 jetified-kotlin-stdlib-1.3.70.jar 之一吗?
  • 你还有其他依赖吗?
  • 不,我刚刚创建了一个新项目并尝试添加 moshi pack 库,但没有成功。
  • 我也有同样的问题 :(

标签: android kotlin build.gradle pack moshi


【解决方案1】:

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

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

并确保您在 File>Project Structure...>SDK Location 下指定了您的 Android NDK 位置

【讨论】:

    【解决方案2】:

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

    请参阅https://blog.jetbrains.com/kotlin/2020/03/kotlin-1-3-70-released/ 中的“使用 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'
    }
    

    【讨论】:

    • 如果 moshipack 实际上从 kotlin.reflect 调用某些东西,这可能会在运行时中断。最好将 moshipack 更新为使用较新版本的 kotlin-reflect(例如 1.2 及更高版本)的版本,该版本与最近的 kotlin-stdlib 没有这种冲突。
    【解决方案3】:

    我试过了,效果很好 实现“org.jetbrains.kotlin:kotlin-reflect:1.4.10”

    【讨论】:

      【解决方案4】:

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2023-01-30
        • 1970-01-01
        • 2020-09-06
        • 2018-11-17
        • 2023-01-26
        • 1970-01-01
        • 2019-09-19
        • 1970-01-01
        相关资源
        最近更新 更多