问题标签 [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.
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?
android - 如何在同一个 kotlin-multiplatform 项目中设置 android、ios 和 kotlin-frontend?
我正在尝试使用 android、ios 和 web 建立一个 kotlin-multiplatform 项目。我正在使用 Android/iOS 预设,然后尝试使用 kotlin-frontend-plugin 添加 js。但不幸的是,正如我已经在这里描述的那样,它会导致与 android 插件发生冲突。是否可以将其设置在单独的模块中以便能够使用通用代码?
ios - 没有 Unit 返回类型的 Kotlin 多平台 lambda 调用
我有一个适用于 Android 和 iOS 的多平台 Kotlin 项目。公共模块中的函数是这样写的:
Android函数使用:
iOS使用函数:
JVM世界似乎自己处理返回类型(Unit)(不需要返回任何东西),而你必须KotlinUnit()
在iOS中返回。
我想在 iOS 上实现同样的效果(没有回调return KotlinUnit()
)
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 代码:
kotlin - 我可以使用“预期/实际 const val”吗?
我想做一些多平台功能,使用平台提供的默认参数值(JVM,JS,...)。
我试图将const
关键字放入期望/实际值,但编译器抱怨。
- 共同部分:
- 实际部分(在jvm中):
但是编译器抱怨:Const 'val' should have an initializer.
如果我const
从它们中删除关键字,性能可能会比以前低(实际上并不重要但是..)并且编译器建议:Might be 'const'
. 所以我想使用const
关键字。另外,如果我将默认值放在实际部分,编译器也会抱怨。
我不能const val
在期望/实际模式中使用吗?
编辑:我实际上只使用 JVM,但我使用 kotlin mpp 因为我可能必须支持其他平台。
kotlin - kotlin 多平台到 javascript:不尊重方法的命名
我使用 gradle kotlin 多平台插件在 java 和 js 中构建一些东西
我的问题是在js版本中,函数/类的名称不一致:
在我的 kotlin 中,我定义了一个函数“launch()”,在 js buid 中,它将是“launch12434()”
知道如何纠正吗?
android - 无法确定任务 ':app:dokka' 的依赖关系
我正在尝试在我的 android 项目上使用 dokka 来生成 kdoc。但是当我运行脚本'modules:app [dokka]'时出现此错误:无法确定任务':app:dokka'的依赖关系。kotlin.KotlinNullPointerException(无错误消息)
我在我的 gradle 文件中添加了以下几行:
项目构建.gradle
应用程序构建.gradle
无法确定任务 ':app:dokka' 的依赖关系。kotlin.KotlinNullPointerException(无错误消息)
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
kotlin - 应用插件请求时发生异常[id:'org.jetbrains.kotlin.jvm', version:'1.3.40-eap-40']
此错误发生在我的 build.gradle.kts 文件中
您是否碰巧在使用 Kotlin/Native GitHub 上提供的示例构建的 Kotlin Cocoapods 项目中看到此错误?