如何从Kotlin调用静态JNI函数?

加博尔

在Java中这不是问题,但是在Kotlin中,我们没有静态的。我们有用于相同目的的伴随对象,但是,作为额外的对象,它们在JNI调用中得到了错误的名称(Java_package_Type00024Companion_function),这与JNI期望的不匹配。从主类调用它显然会导致的JNI错误GetStaticMethodID

斯宾塞公园

所述@JvmStatic注释可以被添加到同伴对象上定义的函数,以使一个静态方法的产生,其可以参考在你JNI调用。

从链接的Kotlin文档中:

class C {
  companion object {
    @JvmStatic fun callStatic() {}
    fun callNonStatic() {}
  }
}
// java
C.callStatic(); // works fine
C.callNonStatic(); // error: not a static method

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章