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
    }
相关推荐
生莫甲鲁浪戴22 分钟前
Android Studio新手开发第二十六天
android·前端·android studio
weixin_445476681 小时前
Java并发编程——synchronized的实现原理与应用
java·开发语言·并发·synchronized
yi碗汤园1 小时前
【超详细】C#自定义工具类-StringHelper
开发语言·前端·unity·c#·游戏引擎
sali-tec1 小时前
C# 基于halcon的视觉工作流-章49-网面破损
开发语言·图像处理·算法·计算机视觉·c#
YuanlongWang1 小时前
c# ABP vNext 框架详解及其模块化开发思想介绍
开发语言·c#
sky0Lan1 小时前
一个类似 pytest 的 html 报告
android·html·pytest
怪兽20142 小时前
Handler中有Loop死循环,为什么没有阻塞主线程,原理是什么?
android·面试
张人玉2 小时前
WPF布局控件(界面骨架核心)
开发语言·c#·wpf·布局控件
闲人编程2 小时前
使用MLflow跟踪和管理你的机器学习实验
开发语言·人工智能·python·机器学习·ml·codecapsule
看兵马俑的程序员2 小时前
RAG实现-本地PDF内容加载和切片
开发语言·python·pdf