Android JNI系列:【1】使用Eclipse一键调用javah生成JNI的.h文件(Eclipse的配置设置)
在初次使用Eclipse生成.java中的Native代码对应的JNI代码.h文件时,需在Eclipse的External Tools Configurations中进行Javah工具的配置。
我在初次使用Eclipse 做相关JNI项目时,参考了网上各路神仙的博客,着实被误导了一番...
所以,在此记录下在Eclipse中正确javah的配置!
1.点击此处中的“External Tools Configurations”
2.分别填入 Location:为javah应用程序所在的位置。【你的javah.exe所在路径】
Working Directory:当前工作目录。【${project_loc}/bin】
Arguments:javah的输入参数。【-classpath .;./classes -d "${project_loc}/jni" -jni ${java_type_name}】
其实,这里的操作就是把javah这个可执行程序当做外部工具引入eclipse中来了。调用的时候,eclipse就会执行javah,并且使用预设的arguments,
即:
javah -classpath .;./classes -d "${project_loc}/jni" -jni ${java_type_name}
可以看到,.class文件的搜索目录是当前工作目录和子目录classes(android开发时生成的.class是在classes这个子目录中,所以这里也加了这个目录,如果你不搞android开发,那不加这个目录也没关系)。
当前工作目录就是上面设好的${project_loc}/bin,也就是你这个java工程的bin文件夹。这样javah就可以在该目录下找到本地方法的.class文件。
-d "${project_loc}/jni"是为了让生成好的.h头文件直接被放置在java工程目录下,便于后续操作。
最后的${java_type_name}是动态的参数,你在生成.h头文件之前先在eclipse中选中本地方法那个java文件,这样java_type_name就自动变成了这个本地方法的名字。
3.如图勾选Refresh中的内容。4.如图勾选Build中的内容。
5.如图勾选Common中的内容。
6.选中SKF_xa.java类,点击javah工具,即可在/jni目录下生成对应的com_begoit_SKFXA_SKF_xa.h文件。
7. 搞定。