JNI是Java自带的方法,不需要引入第三方jar包,优点是因为是java自带的方法,兼容性较好,缺点就是代码书写繁琐
新建Java项目Test --> 新建测试类TestNative,声明本地方法,代码如下:
package com.test;
public class TestNative {
public native void sayHello();
public static void main(String[] args) {
System.loadLibrary("NativeProject");
TestNative test = new TestNative();
test.sayHello();
}
}
使用eclipse编写的类会直接在项目bin目录下自动生成.class文件。如果不使用eclipse,请手动使用javac生成.class文件
生成.h头文件,使用cmd命令行工具切换到项目src这一层目录,键入指令:
javah -classpath D:\Users\Administrator\workspace\Test\bin com.test.TestNative
注意
-classpath后面跟的为Java项目bin目录完整路径
类名必须加上包名
使用vs2015生成DLL文件,新建WIN32项目NativeProject --> 勾选DLL --> 空项目
去java项目src目录下复制刚刚生成的 com_test_TestNative.h,jdk\include目录下的jni.h,jdk\include\w