当前位置: 首页 > 知识库问答 >
问题:

Xamarin是否支持Xamarin Android绑定库中的Kotlin coroutines?

柴文林
2023-03-14

我有一个带有Kotlin代码的Android绑定库,每当它命中Kotlin代码中的runBlocking{}时就会退出。

E(28583:28691)错误[19]-辅助线程捕获到异常:无法解析:lkotlinx/coroutines/builderskt;E(28583:28691)java.lang.NoClassDefoundError:无法解析:lkotLinx/coroutines/builderskt;---->java.lang.ClassNotFoundException:在路径:DexPathList[[zip file“/data/app/de.myCompany.app.myProduct-1/base.apk”],NativeLibraryDirectories=[/data/app/de.myCompany.app.myProduct-1/lib/arm,/vendor/lib,/system/lib]]上找不到类“kotlinx.coroutines.builderskt”

在我的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 Coroutines的支持。
有没有任何方法可以在Xamarin Android绑定库中获得对Kotlinx-coroutines的支持?

共有1个答案

云捷
2023-03-14

您说得对,xamarin.kotlin.stdlib不包括对Kotlinx Coroutines的支持。

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

所以如果你有这样的东西:

请注意。在我的案例中,微软的绑定不起作用。我不得不用卡拉蒙廷的绑定。

 类似资料:
  • 当为需要Android支持库的java库创建绑定项目时,应该如何添加引用?应该使用Xamarin支持库,还是应该在项目中包含带有ReferenceJar构建类型的suport lib jar文件?

  • 我正在尝试为库生成Xamarin绑定: https://github.com/noties/markwon https://repo1.maven.org/maven2/io/noties/markwon/core/4.6.1/core-4.6.1.aar 我还没有修改或任何内容。我已经将aar添加为,但是在尝试编译它时遇到了一些问题。 0>obj/debug/generated/src/io.n

  • 我在Unity中有项目,使用Mapbox, Mapbox包含以下支持库:support-v4-25.1.0.aar 此库以.aar文件的形式提供,而不是作为gradle命令 尝试构建项目时,我收到此错误: 无法确定任务的依赖项:启动程序:lintVitalRelease。< br >无法解析配置的所有项目:launcher:debuguntimeclass path。< br >无法转换支持-v4

  • 原始Android Jar库文件(mposlitesdk.Jar)在子文件夹中包含以下内容: com(其内部有子文件夹“Ingenico”和“Zebra”) META-INF org(其内部有子文件夹“Apache”和子文件夹“commons”和“http”) null 带有char'的奇怪无效令牌添加到生成的源: obj\debug\generated\src\org.apache.http.i

  • 例如,将导致更有用附加调试信息。

  • 我试图在Xamarin中使用https://github.com/redth/Xamarin.android.Xposed,但最终结果被Xposed拒绝,说:“不能加载模块”..“xposed api类被编译到模块的APK中”。xposed-api.jar文件当前是,这就是导致该错误的原因。Xposed-api.jar文件已经由Xposed在运行时提供。 来自xamarin的文件。 InputJa