第一步:打开elipse。
第二步:点击下图中的文件
第三步:点击导入得到下图
第四步:在选择dll文件所在文件夹。
第五步:点击完成。
1、创建java项目
在Eclipse中创建java工程jnidemo,如图1所示:
当保存TestNative.java文件时,Eclipse会自动在jnidemo项目的bin目录下编译生成TestNative.class文件,如图2所示:
2、生成.h文件
使用命令行方式,进入Eclipse下工程目录的bin目录,然后执行javah com.hik.wyx.TestNative,编译出头文件,如图3所示:
此时会在bin目录下生成com_hik_wyx_TestNative.h文件,如图4所示:
3、新建VC工程
在vc6.0环境中创建一个native的DLL工程,如图5、6所示:
点击“完成”按钮,之后新建一个TestNative.cpp文件,如图7所示:
TestNative.cpp文件内容:
#include"com_hik_wyx_TestNative.h"
JNIEXPORTvoid JNICALL Java_com_hik_wyx_TestNative_sayHello(JNIEnv *env,jobject obj){
printf("Hello World !\n")
return
}
4、添加JNI文件路径
在工具—选项中,设置平台及目录,在目录中添加JDK的include与win32文件夹,方便以后的JNI使用(这里的jni.h文件位于Java安装目录下的JDK1.6.023\include,jni_md.h文件位于JDK1.6.0 23\include\win32下,因为jni.h文件引用了jni_md.h文件,所以必须将这两个文件置于你的VC工程下;或者直接放到VC安装目录的include目录下,方便以后使用)。如图8所示:
5、生成DLL
编译TestNative.cpp在VC项目工程下的Debug目录下生成native.dll文件,如图9所示:
6、Java工程设置DLL路径
将native.dll文件拷贝到Java工程bin目录下,如图10所示:
7、在eclipse环境变量中增加nativelibrary location支持
点击Java项目右键—Build Path—ConfigureBuild Path,如图11所示:
如图12所示,增加native library location支持,也就是将具体的DLL文件加入到Java项目中。
注:步骤7的另外一种方式,就是在步骤6中将native.dll文件拷贝到JDK安装路径的bin目录下。(考虑Java项目的迁移,建议使用将DLL拷贝到Java项目工程路径下的方式)
8、测试DLL调用
在TestNative.java文件中加入测试语句,进行DLL调用。
publicstaticvoid main(String[] args) {
System.loadLibrary("native")
new TestNative().sayHello()
}
测试结果:
1、引用jar包绝对路径引用:右键工程-->properties-->Java Build Path-->Libraries-->Add external JARs... ,在d出的对话框中选择要引入的jar包,OK即可。
相对路径引用:首先在工程目录下,新建一个libs文件夹,将要导入的jar包放入其中,然后右键工程-->properties-->Java Build Path-->Libraries-->Add JARs... ,在d出的对话框中选择libs文件夹下的jar包即可。
2、引用dll动态链接库
绝对路径引用:右键工程-->properties-->java Build Path-->Source,点开工程,选择Native libraries location....,点击右侧的edit..-->external Folder...,选择要引入的dll文件所在文件夹即可。
相对路径引用:首先在工程目录下,新建一个libs文件夹,将要导入的dll文件包放入其中,右键工程-->properties-->java Build Path-->Source,点开工程,选择Native libraries location....,点击右侧的edit..-->Workspace..,选择libs文件夹即可。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)