Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/kotlin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用gradle创建针对所有本机目标的Kotlin多平台库_Kotlin_Kotlin Multiplatform_Kotlin Native - Fatal编程技术网

使用gradle创建针对所有本机目标的Kotlin多平台库

使用gradle创建针对所有本机目标的Kotlin多平台库,kotlin,kotlin-multiplatform,kotlin-native,Kotlin,Kotlin Multiplatform,Kotlin Native,正如标题所示。我正在尝试创建一个Kotlin多平台库,该库针对所有本地目标。目前,我可以创建一个针对特定平台的库,例如ios,wasm,mingw,raspberrypi,等等 我知道这是可能的,因为有些Jetbrains库正是这样做的。例如,kotlinx.serialization有一个本机目标,可按如下方式实现: implementation "org.jetbrains.kotlinx:kotlinx-serialization-runtime-native:$serialization

正如标题所示。我正在尝试创建一个Kotlin多平台库,该库针对所有本地目标。目前,我可以创建一个针对特定平台的库,例如
ios
wasm
mingw
raspberrypi
,等等

我知道这是可能的,因为有些Jetbrains库正是这样做的。例如,
kotlinx.serialization
有一个本机目标,可按如下方式实现:

implementation "org.jetbrains.kotlinx:kotlinx-serialization-runtime-native:$serialization_version"
此外,还可以像这样使用ktor clientnativelibs:

implementation "io.ktor:ktor-client-auth-native:$ktor_version"

那么,如何定位所有本机目标,而不是特定的本机目标呢?我如何配置Gradle,使其生成一个可用于所有本机目标的本机目标?

我想你说的是类似于@ArtyomDegtyarev的东西,它仍然以特定库为目标。我想编写一个以所有本机targets为目标的库请纠正我的错误,但我认为您希望以与序列化相同的方式创建库<代码>此出版物不包含任何工件,仅引用其他出版物作为其变体。这完全是一样的。看起来您没有错,@ArtyomDegtyarev我不完全理解kotlinlang网站所说的
是什么意思出版物不包括任何工件,只引用其他出版物作为其变体,你介意进一步解释吗?如果可能的话,展示一个多平台库的minimal build.gradle示例?关于这种方法的示例-很难找到不那么复杂的东西。考虑一下你提到的甚至序列化(我知道,这不是一件容易的事)。这里的想法听起来是这样的:当您将
kotlinMultiplatform
添加到出版物列表时,它应该会生成一个伞形工件,其中不包含代码,而是引用其他已发布工件。这意味着您应该分别为所有工件生成库,但会有一个额外的库,从而更容易使用库。你的剧本现在看起来怎么样?