java jni

65 阅读1分钟

第一步:使用javac命令编译java文件,生成class文件

javac Test.java

第二步:使用javah命令生成头文件

javah -jni 包名.类名

注意:没有.class  而且 如果有包名的话 记得要把包名也写上

例:

文件路径:

文件所在的包,及内容  有native关键字声明的方法才会调用DLL库

命令行:


之后会在CD的目录下生成一个 包名_类名.h的头文件夹

第三步:创建dll动态链接库项目(这里用的是vs2017、怎么安装自行百度)

 

创建好的DLL项目:

 

第四步:在C/C++项目中导入头文件

注意:此时还需要导入java的头文件 jni.h   jni_md.h

jni.h 以及jni_md.h的路径在 java的安装位置下的include文件夹内 以及win32下

 

第五步:编写好程序后打包DLL库

根据java类生成的头文件:

C++代码

编译:

 

生成的dll文件路径:(这里我选择是是64位因为我的jdk是64的——根据自己需要来选择生成对应的文件)

第六步:将生成的dll文件放入System32下(64位放入SysWOW64下)或者放入项目文件中

ps:我这里放入文件中(访日System32下的可以跳过这一步)

1.新建一个lib文件夹放入dll文件

2.右键项目build Path ->Configure Build Path

最后一步: 加载dll文件并运行

 

附:

Java和Jni类型对照表