问题标签 [kotlin-multiplatform]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
48 浏览

android - IDEA 无法识别多平台项目中的 Android 模块

我试图在一个多平台项目中包含 android、ios 和 js,以便在会议上发表演讲。正如我已经在此处描述的 ( https://youtrack.jetbrains.com/issue/KT-29453 ) kotlin-frontend-plugin 无法与 Android 插件一起使用。所以我注释掉了所有与 Android 相关的内容,并添加了 js 部分。它运作良好。在完成 js 部分后,我注释掉了与 js 和未注释的 android 部分相关的所有内容。但是现在它不识别项目中的android。我无法在运行/调试配置中选择模块。它显示消息“Kotlin 未配置”</p>

我无法为 android 添加/设置模块。出于某种原因,android 源被放置在main文件夹中,但所有其他源被放置在以项目创建时为前缀ios的文件夹中。common稍后,当项目同步时,它会为每个以android. 一切都在同一个模块中。

如何在多平台项目中再次设置 android?

0 投票
0 回答
42 浏览

android - 如何在同一个 kotlin-multiplatform 项目中设置 android、ios 和 kotlin-frontend?

我正在尝试使用 android、ios 和 web 建立一个 kotlin-multiplatform 项目。我正在使用 Android/iOS 预设,然后尝试使用 kotlin-frontend-plugin 添加 js。但不幸的是,正如我已经在这里描述的那样,它会导致与 android 插件发生冲突。是否可以将其设置在单独的模块中以便能够使用通用代码?

0 投票
0 回答
420 浏览

ios - 没有 Unit 返回类型的 Kotlin 多平台 lambda 调用

我有一个适用于 Android 和 iOS 的多平台 Kotlin 项目。公共模块中的函数是这样写的:

Android函数使用:

iOS使用函数:

JVM世界似乎自己处理返回类型(Unit)(不需要返回任何东西),而你必须KotlinUnit()在iOS中返回。

我想在 iOS 上实现同样的效果(没有回调return KotlinUnit()

0 投票
1 回答
4226 浏览

android - 如何在 Kotlin/Native Multiplatform 中进行单元测试?

我遵循了https://kotlinlang.org/docs/tutorials/native/mpp-ios-android.html的教程,我想对我在 SharedModule 中创建的 commonTest 进行单元测试。

在此处输入图像描述

我尝试过的事情:

我曾尝试在公共文件中使用 kotlin.test。我在网上研究你可以使用JUnit5,但是当我在commonTest中导入依赖项时,我无法访问kotlin.test的库。现在我已经在 commonTest 中成功实现了 kotlin.test,但是我该如何运行呢?

我试过 gradlew commonTest.kt 但它不起作用。请帮忙谢谢!

我的 SharedModule gradle 代码:

0 投票
0 回答
417 浏览

kotlin - 我可以使用“预期/实际 const val”吗?

我想做一些多平台功能,使用平台提供的默认参数值(JVM,JS,...)。

我试图将const关键字放入期望/实际值,但编译器抱怨。

  • 共同部分:
  • 实际部分(在jvm中):

但是编译器抱怨:Const 'val' should have an initializer. 如果我const从它们中删除关键字,性能可能会比以前低(实际上并不重要但是..)并且编译器建议:Might be 'const'. 所以我想使用const关键字。另外,如果我将默认值放在实际部分,编译器也会抱怨。

我不能const val在期望/实际模式中使用吗?

编辑:我实际上只使用 JVM,但我使用 kotlin mpp 因为我可能必须支持其他平台。

0 投票
1 回答
44 浏览

kotlin - kotlin 多平台到 javascript:不尊重方法的命名

我使用 gradle kotlin 多平台插件在 java 和 js 中构建一些东西

我的问题是在js版本中,函数/类的名称不一致:

在我的 kotlin 中,我定义了一个函数“launch()”,在 js buid 中,它将是“launch12434()”

知道如何纠正吗?

0 投票
1 回答
1265 浏览

android - 无法确定任务 ':app:dokka' 的依赖关系

我正在尝试在我的 android 项目上使用 dokka 来生成 kdoc。但是当我运行脚本'modules:app [dokka]'时出现此错误:无法确定任务':app:dokka'的依赖关系。kotlin.KotlinNullPointerException(无错误消息)

我在我的 gradle 文件中添加了以下几行:

项目构建.gradle

应用程序构建.gradle

无法确定任务 ':app:dokka' 的依赖关系。kotlin.KotlinNullPointerException(无错误消息)

0 投票
1 回答
435 浏览

ios - 由于缺少反射,从 KClass 获取序列化程序在本机上不可用

描述

我在 iOS 和 Android 的多平台库中使用 Kotlinx 序列化库来处理 HTTP 请求。但是当我在 iOS 上使用我的请求功能时出现此消息,有解决方法吗?我函数中的哪一行调用了未实现的函数?

kotlin.NotImplementedError: An operation is not implemented: 由于缺少反射,从 KClass 获取序列化程序在本机上不可用。.serializer() 直接在可序列化类上使用。

重现

这是我写的函数

环境

  • Kotlin 版本:1.3.31

  • Kotlinx 序列化版本:0.11.0

  • Kotlin 平台:iOS 和 Android

  • 摇篮版本:5.1.1

0 投票
1 回答
152 浏览

gradle - 项目“cocoapods”未与 Gradle 链接

在此处输入图像描述

当我尝试在 Kotlin/Native 示例中打开名为“cocoapods”的示例项目时,出现此错误。

有没有办法解决这个错误!

0 投票
1 回答
2617 浏览

kotlin - 应用插件请求时发生异常[id:'org.jetbrains.kotlin.jvm', version:'1.3.40-eap-40']

此错误发生在我的 build.gradle.kts 文件中

您是否碰巧在使用 Kotlin/Native GitHub 上提供的示例构建的 Kotlin Cocoapods 项目中看到此错误?