JNI 使用流程
JNI 是 Java Native Interface的简称,该功能主要是用于Java调用C的动态库,实现某些功能,其使用过程主要分为以下几步:-
新建一个Java类,该类中定义自己需要的 C 端的native方法;
-
根据该类编译生成的.class文件生成 C 所需要的头文件,也就是常说的.h文件;
【注】1、若没有自动编译生成的.class文件,可以使用Java命令直接生成。
2、生成 .h 文件的命令也为Java命令,即javah。 -
根据生成的 .h 文件编写C的功能实现,最后生成对应的dll,此处需要注意:生成的dll 的位数需要和Java环境的位数相同,否则会报错。
-
拷贝生成的dll文件到系统环境配置的某一文件夹下,最好配置在C:\Windows\System32或C:\Windows\SysWOW64;其中System32是配置64位的dll,SysWOW64配置32位的dll。
-
运行Java程序即可。
代码实例和简单解析
Java类,其中加载动态库和使用动态库。package proj1;
public class CallCMethod {
static {
System.out.println(System.getProperty("java.library.path")); // 打印系统环境变量配置的路径
// 加载dll,testProject1为生成的动态库的名称,此处为了平台的适配性,不用加后缀,因为Linux的环境后缀为.so,Windows的为.dll