Java转Kotlin调用JNI方法异常

一、背景

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()
相关推荐
失散1311 分钟前
分布式专题——9 Redis7底层数据结构解析
java·数据结构·redis·分布式·缓存·架构
馨谙16 分钟前
设计模式之单例模式大全---java实现
java·单例模式·设计模式
程序员TNT19 分钟前
Shoptnt 安全架构揭秘:JWT 认证与分布式实时踢人方案
java·redis·分布式·架构
野生的编程萌新22 分钟前
【C++深学日志】从0开始的C++生活
c语言·开发语言·c++·算法
水无痕simon25 分钟前
3 水平分表
java·数据库
野生程序员y33 分钟前
深入解析Spring AOP核心原理
java·后端·spring
阿萨德528号38 分钟前
ZooKeeper Java客户端与分布式应用实战
java·zookeeper·java-zookeeper
死也不注释43 分钟前
【Unity UGUI 交互组件——Dropdown(TMP版本)(10)】
java·unity·交互
狼爷1 小时前
凌晨 4 点的线上 CPU 告警:一场历时 4 小时的故障排查与架构优化全记录
java
渣哥1 小时前
Java 线程池中的 submit 和 execute 有何不同
java