javap获取Kotlin方法JNI方法签名

获取Kotlin方法签名和JAVA不一样的地方就是需要使用Kotlin 命令行编译器生成.class文件:

  1. 编写一个Kotlin类,添加JNI方法:

    复制代码
     class TestLib {
        external fun init(callBack: CallBack)
        interface CallBack{
            fun onData(count:Int,data:String)
        }
    }
  2. 在Android Studio安装目录plugins\Kotlin\kotlinc\bin找到Kotlin 命令行编译器,然后生成对应的.class 文件

    复制代码
    kotlinc TestLib.kt -d out
  3. 执行以下命令来获取 JNI 方法的签名:

    复制代码
    $ javap -s TestLib$CallBack.class
    Compiled from "TestLib.kt"
    public interface com.test.jnitest.TestLib$CallBack {
      public abstract void onData(int, java.lang.String);
        descriptor: (ILjava/lang/String;)V
    }
相关推荐
hai_android2 小时前
把 Android App 打包成系统应用(System App)
android·kotlin·android jetpack
JMchen3 小时前
【Jetpack 内核实战 01】开篇:Jetpack 组件全家桶核心逻辑与专栏完整规划
android·kotlin·android jetpack
骑着蜗牛撵大象3275 小时前
Linux 进程间通信之管道:从 pipe() 的内核语义到 FIFO 落地排错
android·java·linux·系统编程·fifo·管道·进程间通信
WJ.Polar5 小时前
Java封装、继承、多态
java·开发语言
摇滚侠5 小时前
Java 中如何表示负数,有符号和无符号的区别,补码的计算规则,char byte short int long 的范围
java·开发语言
hunterandroid5 小时前
Retrofit 网络请求的异常处理与重试策略实战
android
weixin_307779135 小时前
C++代码实现MATLAB中的fitrtree函数功能
开发语言·c++·算法·matlab
sejinan6 小时前
极致轻量与秒级起播:NativeWasmTv 开源硬核技术解析与升级版体验
android·开源·webview·tv
爱读书的小胖6 小时前
Codewars:Rot13(C)解题分析
c语言·开发语言
小羊没烦恼!6 小时前
Ajax与JSON的一些总结
android·java·前端·数据库·mysql·算法·okhttp