一、背景
Java调用JNI方法时没有任何问题,但是使用Java转Kotlin以后出现了崩溃异常:A java_vm_ext.cc:597] JNI DETECTED ERROR IN APPLICATION: jclass has wrong type:
校验参数后没有任何变化,经过分析验证找到解决方案
二、原因分析
当我们使用Android Studio默认转换一个Java调用JNI的类时,我们可以使用Tools-> Kotin
->Show Kolin Bytecode 再点击Decompile来查看转换Kotlin后与我们原有Java文件有和不同
二、解决方案
经过上述方案对比发现原来Java中的方法的static关键字被移除了,因此在方法名上增加@JvmStatic即可解决上述异常
Kotlin
@JvmStatic
external fun stop()