问题标签 [kotlin-native]

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 投票
1 回答
541 浏览

kotlin - Is there a Kotlin-Multiplatform feature or pattern that can help to implement a common abstraction for, say, the Closeable interface?

The Closeable interface in Java provides a convenient abstraction that facilitates the management of resources that can be closed. In the context of multi-platform kotlin, is there a pattern, practice or feature that can help breach the gap between a shared/multi-platform Closeable interface and the actual Java Closeable interface knowing that these are necessarily two different types?

The effects of not being able to close the type difference and/or having a standard-lib closeable are the proliferation of Closeable interfaces that can't be combined across libraries even though they are fundamentally the same thing.

0 投票
1 回答
207 浏览

tensorflow - Kotlin/原生张量流

我创建了一个 tensorflow 库并尝试在我的 kotlin 脚本中获取 tensorflow 版本

想法可以使用 Ctrl+click 将 TF_Version() 方法链接到库,并且(在库中)我有方法

但是当我尝试构建和启动时,我看到了这个错误

/tmp/konan_temp8584442034275821874/combined.o:ld-temp.o:function Konan_start: error: undefined reference to 'tensorflow_kniBridge0' error: /home/fnasibov/.konan/dependencies/target-gcc-toolchain-3-linux-x86- 64/x86_64-unknown-linux-gnu/bin/ld.gold 调用报错

请帮我解决这个问题

0 投票
2 回答
357 浏览

android - Android 特定部分中的 Kotlin/Native 访问设备传感器

我目前被困在一项我认为非常基本的任务上。我正在 Kotlin/Native 中开发一个库,该库应该查询 iOS 和 Android 中的重力传感器。

几乎所有的逻辑都在公共部分,只有与设备传感器的通信是在平台特定的方法中实现的。令人惊讶的是,所有 iOS 核心库(在本例中为 CoreMotion)都已被移植,因此实现起来非常容易。

在这种情况下,CoreMotion 允许我在重力传感器上添加一个侦听器,只要屏幕的方向相对于 X、Y 或 Z 发生变化,它就会调用回调(我对 Z 感兴趣)

在Android中我会做这样的事情

但是所需的导入在 Kotlin/Native 中不可用

有没有办法在 Kotlin/Native 中访问这种硬件(重力传感器)?或者在 Kotlin/Native 的 Android 特定部分更好?

0 投票
1 回答
6202 浏览

kotlin - Kotlin 是如何专门编译的?

我试图了解 Kotlin 源代码在编译时所经历的过程。该文件指出

当以 JVM 为目标时,Kotlin 生成与 Java 兼容的字节码。当以 JavaScript 为目标时,Kotlin 转译为 ES5.1 并生成与包括 AMD 和 CommonJS 在内的模块系统兼容的代码。当以原生为目标时,Kotlin 将生成特定于平台的代码(通过 LLVM)。

我的理解是,当 Kotlin 以 JVM 为目标时,代码被编译/翻译成字节码,然后 JVM 将其解释(?)成机器码。这会是 JIT(及时)编译的一个例子吗?

当定位 javascript 时,使用了“transpiles”这个词。代码究竟被编译成什么,它在任何步骤中是否被进一步解释或编译?

以本机为目标时,代码是否直接编译为机器码?LLVM 采取了哪些步骤?

最后,这是否意味着 Kotlin 既是编译语言又是解释语言?

0 投票
1 回答
609 浏览

kotlin - Ktor:无法解析 JacksonSerializer

我正在尝试在 Kotlin Multiplatform 项目的 commonMain 模块中设置 ktor http 客户端(如此处所述https://ktor.io/clients/http-client/features/json-feature.html),但无法解析对它的依赖:

摇篮版本:4.7。

这是通用模块的 build.gradle:

0 投票
2 回答
3033 浏览

kotlin - 在 Kotlin 中读取所有输入行的简洁方式

进行编码挑战时的一个常见模式是读取多行输入。假设您事先不知道有多少行,您想读取直到 EOF(readLine 返回 null)。

另外作为前言,我不想依赖 java.utils.*,因为我在 KotlinNative 中编码,所以没有 Scanner。

我想做一些类似的事情

但这显然不是有效的 Kotlin。我能想到的最干净的是:

这行得通,但它似乎不是很地道。有没有更好的方法将所有行读入数组,而不使用 while/break 循环?

0 投票
1 回答
2165 浏览

ios - kotlin.native.concurrent.InvalidMutabilityException:冻结的突变尝试 when using ktor in Kotlin Multiplatform (iOS)

I am trying to build a simple Kotlin Multiplatform app that calls to the internet to fetch some Strings from the internet w

I am trying to build a simple Kotlin Multiplatform app that calls to the internet to fetch some Strings from the internet with ktor. I took some functions from Kotlin conference app which I compiled and it works fine on both Android and iOS.

However, in my sample app, it only works on Android, but on iOS it returns

kotlin.native.concurrent.InvalidMutabilityException: mutation attempt of frozen <object>@c422ffe8

Here is the GitHub repository and below is my code:

--

--

--


Turns out that the Kotlin version 1.3.11 is causing the trouble. I have downgraded it to 1.3.10 and it works perfectly fine. ktor will receive a fix in the next minor release.

Source - Kotlin Slack, multiplatform channel.

0 投票
1 回答
976 浏览

gradle - 尝试将 Kotlin Native 与 IntelliJ 的基础项目一起使用,但无法编译

嗨,我正在学习 Kotlin Native,因此我想从编译和运行项目开始,使用 IntelliJ 提供的 Kotlin Native 文件我收到以下错误:(使用:“gradle build”)

我如何让它工作?

build.gradle:

设置.gradle:

SampleMingw.kt:

堆栈跟踪:

使用 gradle build --stacktrace 在 stracktrace 上方添加

0 投票
1 回答
381 浏览

ubuntu - 如何在 Ubuntu 中使用 snap 启动 Kotlin

**我在 ubuntu 18 中通过 snap 安装了 kotlin,但是当我在终端上写 kotlin 时,我得到了这样的错误

当我通过 snap 看到的路径包含在 $PATH 中时:

所以帮助我,谢谢你的支持。

0 投票
1 回答
572 浏览

gradle - Gradle 可以生成多个 Kotlin Native 二进制文件(针对一个操作系统)吗?

我可以说服 Gradle 生成多个二进制文件吗?我有几个 Kotlin 包,其中的文件具有适当的“有趣的 main(...)”,但默认的 IntelliJ build.gradle 文件只允许我指定一个“compilations.main.entryPoint”。如果有帮助,我可以将主要功能放入 Kotlin 类或对象中。

将 entryPoint 参数更改为数组不起作用:)

如果目前不可能,是 Gradle 的一般限制还是“kotlin-multiplatform”插件的一般限制?