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()
相关推荐
limuyang21 小时前
PDF Viewer KMP(基于 chrome 的 PDFium 内核)
android·kotlin
恋恋西风2 小时前
C++ 理解 std::thread 在单核和多核上的行为差异
开发语言·c++
学长毕业设计2 小时前
基于SpringBoot的公益基金管理系统(源码+文档+讲解视频)
java·spring boot·后端
Brilliantwxx2 小时前
【Linux】 进程(9)程序与进程地址空间(基础+进阶+面试题)
linux·运维·服务器·开发语言·c++
东小西2 小时前
【SAA实战】第 3 篇 · 工具调用全攻略:把业务能力交给 Agent 自己调度
java·后端·spring
东小西3 小时前
【SAA实战】第 4 篇 · Agent 短期记忆:saver 让 Agent 跨轮记得住(threadId 隔离)
java·后端·spring
许彰午3 小时前
22-DataCenter报文序列化
java·低代码·架构·状态模式
2601_962065253 小时前
[MySQL] SQL优化之性能分析
java·sql·mysql
BizzZ_3 小时前
C++(22)——类型转换和IO流
开发语言·c++
小范同学_3 小时前
JDK1.7 与 JDK1.8 HashMap 底层原理对比 + 数组并发扩容死循环详解
java·开发语言