【问题标题】:Does Xamarin support Kotlin coroutines in a Xamarin Android Binding Library?Xamarin 是否支持 Xamarin Android 绑定库中的 Kotlin 协程?
【发布时间】:2019-11-17 08:38:49
【问题描述】:

我有一个带有 Kotlin 代码的 Android 绑定库,只要在 Kotlin 代码中遇到 runBlocking{},它就会退出。

E(28583:28691) 错误 [19] - 工作线程捕获到异常: 解决失败:Lkotlinx/coroutines/BuildersKt;电子(28583:28691) Java.Lang.NoClassDefFoundError:无法解决: Lkotlinx/协程/BuildersKt; ---> Java.Lang.ClassNotFoundException: 在路径上找不到类“kotlinx.coroutines.BuildersKt”: DexPathList[[压缩文件 "/data/app/de.mycompany.app.myproduct-1/base.apk"],nativeLibraryDirectories=[/data/app/de.mycompany.app.myproduct-1/lib/arm, /vendor/lib, /system/lib]]

在我的 Kotlin AAR 模块中,我有以下依赖项

实现“org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version”
=> 等效 Xamarin.Kotlin.StdLib
实施 'org.jetbrains.kotlinx:kotlinx-coroutines-core:1.0.1'
=> 等效 Xamarin.????
执行 “org.jetbrains.kotlinx:kotlinx-coroutines-android:1.0.1”
=> 相当于 Xamarin.????

我猜 Xamarin.Kotlin.StdLib 不包含对 Kotlinx 协程的支持。
有没有办法在 Xamarin Android 绑定库中获得对 Kotlinx 协程的支持?

【问题讨论】:

    标签: android xamarin.android kotlin-coroutines


    【解决方案1】:

    你说得对,Xamarin.Kotlin.StdLib 不包括对 Kotlinx 协程的支持。

    为了在 Xamarin Android 绑定库中拥有 Kotlinx-coroutines,您必须添加 KotlinX.Coroutines NuGet 包作为应用项目的依赖项,并且绑定库项目。

    所以如果你有这样的事情:

    MyAndroidApp.proj -> MyBindingLibrary.proj

    两个项目都必须添加 KotlinX.Coroutines 依赖。

    注意就我而言,微软的binding 没有工作。我不得不使用 Karamunting 的binding

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-09-21
      相关资源
      最近更新 更多