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
    }
相关推荐
在放️13 分钟前
Python 爬虫 · 第三方代理接入与合规使用
开发语言·爬虫·python
KANGBboy20 分钟前
java知识五(继承)
java·开发语言
c++之路22 分钟前
Bazel C++ 构建系列文档(三):构建第一个 C++ 项目
开发语言·c++
AI人工智能+电脑小能手24 分钟前
【大白话说Java面试题 第117题】【并发篇】第17题:线程有几种状态,之间如何转换?
java·开发语言·面试
聚名网2 小时前
域名net,com,cn有区别吗?有哪些不同呢?
服务器·开发语言·php
牛油果子哥q2 小时前
STL set与map底层精讲,红黑树适配原理、有序去重特性、迭代器遍历、API实战与面试核心考点全解
开发语言·数据结构·c++·面试
foundbug9992 小时前
直流电机 PID 速度控制 MATLAB 仿真程序
开发语言·matlab
Tian_Hang3 小时前
C++原型模式(Protype)
开发语言·c++·算法
天天讯通3 小时前
OKCC 呼叫中心安全性能全解析:技术防护与管理措施指南
大数据·开发语言·网络·人工智能·安全·语音识别
xufengzhu3 小时前
第三方 Python 库 redis-py + hiredis 的使用
开发语言·redis·python