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
    }
相关推荐
私人珍藏库5 小时前
【Android】Soul v5.86.0 内置模块版
android·app·工具·软件·多功能
星空椰5 小时前
Python 面向对象高级:继承与类定义详解
开发语言·python
千里马学框架5 小时前
aosp新增窗口层级 Type 完整实现方案(有源码)-wms需求和面试题
android·智能手机·架构·wms·aaos·车机
白露与泡影6 小时前
2026大厂Java面试题大全!牛客网最新版
java·开发语言
凯瑟琳.奥古斯特6 小时前
高阶子查询题目精炼
开发语言·数据库·python·职场和发展·数据库开发
雪度娃娃6 小时前
转向现代C++——在意为改写的函数添加 override
开发语言·c++
喵星人工作室7 小时前
C++火影忍者1.1.2
开发语言·c++
basketball6167 小时前
C++ 中的 ptrdiff_t 详解
开发语言·c++
月亮邮递员6168 小时前
Markdown语法总结
开发语言·前端·javascript
printfLILEI8 小时前
php中的类与对象以及反序列化
linux·开发语言·php