Android 开发中如何用Javah命令生成JNI头文件


近段时间接触JNI,发现每个JNI头文件开头都有下面一段说明,大概的意思是这个头文件是自动生成的,不要修改。我就好奇这个文件是如何自动生成的,捣鼓的半天才弄明白。现在整理一下希望可以帮到大家。

/* DO NOT EDIT THIS FILE - it is machine generated */

#include




1、需要先安装jdk,用javah -version命令看一下是否安装成功。

然后我们先在eclipse中建一项目,然后新建一个class,我这里新建一个creat_a_class_for_jni这样的类。代码如下:

Android 开发中如何用Javah命令生成JNI头文件_第1张图片

2、编译工程,最好先clean一下先。然后Project-build Project,在目录、进入到类路径(bin\classes)下会看到class文件生成,我这里是bin\classes\com\cs\fingerprint这个路径下的creat_a_class_for_jni.class文件。

Android 开发中如何用Javah命令生成JNI头文件_第2张图片

3、cmd进入到类路径下\bin\classes,记得是\bin\classes,不要到class文件所在的目录,我就是进入到class所在的目录,整半天都不整不好。然后执行javah -classpath . -jni com.cs.fingerprint.creat_a_class_for_jni。


4、如何成功的话,在bin/classes/目录下会看到jni头文件生成了,我这里是com_cs_fingerprint_creat_a_class_for_jni.h。

Android 开发中如何用Javah命令生成JNI头文件_第3张图片


5、打开文件,文件内容如下,生成JNI头文件了。

Android 开发中如何用Javah命令生成JNI头文件_第4张图片


你可能感兴趣的:(Android)