javap获取JAVA方法JNI方法签名

JNI(Java Native Interface)允许 Java 代码与本地代码进行交互,因此可以使用 javap 来查看 JNI 方法的签名信息。
以下是获取 JNI 方法签名的步骤:

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

     public class Test {
        native void onData(int count,String data);
    }
    
  2. 确保你已经编译了包含 JNI 方法的 Java 类,并生成了对应的 .class 文件,JAVA文件通过javac生成对应的.class 文件

    D:\workspace\JniTest\app\src\main\java\com\test\jnitest
    $ javac Test.java
    
  3. 打开终端或命令行,执行以下命令来获取 JNI 方法的签名:

    D:\workspace\JniTest\app\src\main\java\com\test\jnitest
    $ javap -s Test.class
    Compiled from "Test.java"
    public class com.test.jnitest.Test {
      public com.test.jnitest.Test();
        descriptor: ()V
    
      native void onData(int, java.lang.String);
        descriptor: (ILjava/lang/String;)V
    }
    

在输出中,你可以看到onData JNI 方法的签名为 (ILjava/lang/String;)V,其中 (ILjava/lang/String;)表示参数类型为 int和String,V 表示返回类型为 void。
通过使用 javap -s 命令,你可以查看 Java 类中 JNI 方法的签名信息。请注意,只能从编译好的类文件中获取 JNI 方法的签名,因为它们是在编译过程中生成的。

你可能感兴趣的:(JNI,java)