javah 类名 将java中的本地方法自动生成相应的头文件,在jni中实现头文件中的这些方法
java反编译:
javah “包、类”
首先先要编译我们的android项目,因为javah算是一个反编译工具,需对编译后的文件使用。由于我们编译后的文件是默认放在android项目目录下的bin目录的。于是我们打开cmd
cd D:/works/android-serialport-api/android-serialport-api/project/bin/
假设工程目录下有bin文件夹,bin存放编译好的class文件;
进入项目目录下的bin/classes目录然后输入
javah -jni android.serialport.SerialPort
在jni目录下生成了:android_serialport_SerialPort.h
------------------------------------------------------------------------------------------------------------------
javap是jdk自带的一个工具,可以反编译,也可以查看java编译器生成的字节码,是分析代码的一个好工具。
javap - Java class文件分解器
分解class文件,可用来查看java中本地方法的返回值类型
摘要:
到工程目录下/bin/classes/下,执行:
javap -s com.lh.ledpro.Maintivity // 输出内部类型签名
描述:
javap命令分解一个class文件,它根据options来决定到底输出什么。如果没有使用options,那么javap将会输出包,类里的 protected和public域以及类里的所有方法。javap将会把它们输出在标准输出在bin目录下面:
javap命令分解一个class文件,它根据options来决定到底输出什么。如果没有使用options,那么javap将会输出包,类里的 protected和public域以及类里的所有方法。javap将会把它们输出在标准输出在bin目录下面:
javap -s com.lh.ledpro.Maintivity //输出栈大小,方法参数的个数