2

有没有办法在没有 JNI 的情况下在 kotlin-jvm 中使用本机 C 库?用例很简单,我想在 SQLite 等原生库周围使用 kotlin 包装器,而不需要痛苦的 JNI 工作。除了带有 NativeActivity 的样本外,我没有在样本中找到任何东西。

我发现的关于该主题的所有内容都是这个线程,它不是很详细:https ://discuss.kotlinlang.org/t/interoperability-between-kotlin-native-and-kotlin-jvm/5943

4

2 回答 2

1

正如 Eugene 指出的那样,没有 JNI 是不可能的。我使用了来自 Dropbox 的好人的Djinni。虽然不是灵丹妙药,但它确实减轻了 JNI 工作的痛苦。我还应该指出它的设计目的是与 C++ 一起工作,而不是 C 本身。但也许它仍然对你有用。

于 2018-09-02T20:04:44.700 回答
0

现在是不可能的。您可以使用 Kotlin/JVM 或 Kotlin/Native。Kotlin/Native 中有 C 库的互操作。

此外,还有 Kotlin 多平台项目来绑定 SQLite https://medium.com/@kpgalligan/sqlite-on-kotlin-native-9bcf47854cae

于 2018-09-02T18:08:01.217 回答