一、背景
? ? ? ? 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即可解決上述異常
@JvmStatic
external fun stop()