【问题标题】:Duplicated class Koin org.koin and io.insert-koin重复类 Koin org.koin 和 io.insert-koin
【发布时间】:2021-06-23 19:16:01
【问题描述】:

我正在使用两个库,它们依赖于两个不同版本的 Koin。

其中一个库有 org.koin:koin-android:2.0.1,另一个有 io.insert-koin:koin-core-jvm:3.0.1强> 依赖。

是的!他们有不同的组 ID:/

在编译时,我得到了大量的 Duplicate class 错误,如下所示,

Duplicate class org.koin.android.BuildConfig found in modules jetified-koin-android-2.0.1-runtime (org.koin:koin-android:2.0.1) and jetified-koin-android-3.0.1-runtime (io.insert-koin:koin-android:3.0.1)
Duplicate class org.koin.android.ext.koin.KoinExtKt$androidContext$1 found in modules jetified-koin-android-2.0.1-runtime (org.koin:koin-android:2.0.1) and jetified-koin-android-3.0.1-runtime (io.insert-koin:koin-android:3.0.1)
Duplicate class org.koin.core.scope.Scope$injectOrNull$1 found in modules jetified-koin-core-2.0.1 (org.koin:koin-core:2.0.1) and jetified-koin-core-jvm-3.0.1 (io.insert-koin:koin-core-jvm:3.0.1)
Duplicate class org.koin.java.KoinJavaComponent$inject$1 found in modules jetified-koin-core-jvm-3.0.1 (io.insert-koin:koin-core-jvm:3.0.1) and jetified-koin-java-2.0.1 (org.koin:koin-java:2.0.1)
...

当我尝试如下排除其中一个时,

configurations {
    all { 
        exclude group: "io.insert-koin", module: "koin-android"
        exclude group: "io.insert-koin", module: "koin-core-jvm"
    }
}

我在运行时遇到了相关的 NoClassDefFoundError。

当排除 org.koin:koin-android:2.0.1

Caused by: java.lang.ClassNotFoundException: Didn't find class "org.koin.core.KoinComponent" on path: DexPathList[[zip file "/data/app/...

当排除 io.insert-koin:koin-core-jvm:3.0.1

Caused by: java.lang.ClassNotFoundException: Didn't find class "org.koin.core.component.KoinComponent" on path: DexPathList[[zip file "/data/app/...

如何才能同时使用这两个库?

【问题讨论】:

标签: java android kotlin gradle koin


【解决方案1】:

Koin 3.x.x 没有向后兼容性。如果使用 Koin 2.x.x 版本的 sdk 没有更新,也许您最好为使用 Koin 2.x.x 的对面库找到旧版本。但请注意,Koin 2.2.3 版本也有不同的路径(由于 jcenter 限制)

【讨论】:

  • 感谢您告知版本 2.2.3。我希望有一种方法可以在运行时在版本之间切换。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-11-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多