在NDK开发之调用方法和NDK开发之访问域两篇博客中,我们在获得域ID和方法ID时都需要一个叫做描述符的参数,那么在实际开发中我们怎么知道我们要调用的域或者方法的描述符呢?
一个简单的方法就是使用Java提供的javap命令
JDK提供的命令行方式下的Java类文件反汇编程序称为javap,该工具可以从编译的文件中解压缩域和方法的描述符。
使用方法:
在cmd命令行,首先进入到当前工程的主目录:
javap在编译的Java类文件上操作,它有两个参数,分别表示编译的类位置以及要反汇编的Java类名字,-p表示显示所有类和成员,-s则表示输出内部类型签名。格式如下:
javap -classpath bin/classes -p -s com.example.jni.MainActivity
javap工具将对com.example.jni.MainActivty类文件进行反汇编并输出如图所示的域或方法签名。
好了,所有的域或者方法描述符都可以通过这样一个简单的方式拿到了。
版权声明:本文为博主原创文章,未经博主允许不得转载。若有错误地方,还望批评指正,不胜感激。