在网上看了很多如何使用javah命令,但是都不对,前几天摸索了一阵,终于搞定。博主JDK版本为jdk1.7.0_21。具体使用方法如下:
1.声明JAVA_HOME环境变量为C:\Program Files\Java\jdk1.7.0_21
JAVA_HOME这个环境变量可能一些程序会用到,因此单独声明比较好。位置为JDK主目录
2.在Path中添加%JAVA_HOME%\bin目录
这个设置为了让系统能够找到javah执行文件
3.设置CLASSPATH环境变量为.
javah执行过程会自动寻找这个变量,虽然可以每次手动设置,但是还是设置为环境变量比较好。.代表当前目录。
4.在Android中编写一个Android工程
以此工程为例,文件组织如图
其中NativeSurf类中声明了native函数。
编译完成的类文件位于Copy of Opencv\bin\classes下。
注意,使用native方法时一定要单独建立一个包和类,不要有其他类掺杂进去,否则会提示找不到类。
5. 在Copy of Opencv\bin\classes目录下打开命令提示符 使用javah <包名.完整类名>,即可在classes下生成native的.h文件
生成的头文件组织为:
至此头文件生成成功