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,

    即:

扫描二维码关注公众号,回复: 2244835 查看本文章

    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. 搞定。

猜你喜欢

转载自blog.csdn.net/xiaoma_pedro/article/details/81030869