1.java创建项目
2.创建目录如下
3.新建一个JNIDemo文件,在里面定义一个sayHello方法
public class JNIDemo {
public native void sayHello();
}
新建一个测试类
public class Main {
public static void main(String[] args) {
}
}
效果如图所示
把鼠标移动到edu.hut软件包上面,新建一个终端终端
执行一下命令:
javac -h . JNIDemo.java
最终得到以下效果图
打开Visual Studio
点击新建项目
选择具有导出的DLL的动态链接库的模板
给项目命名,选择保存路径
在头文件中打开Dll3.h头文件
删除#endif以下的全部内容
打开刚创建的ideal项目中生成的edu_hut_JNIDemo.h文件,全选里面的内容
粘贴到Dll3.h文件中的#endif下方
在刚创建visual studio项目中点击项目
选择Dll3和属性
选择VC++目录
选择包含目录,在选择编辑
找到你本地安装的jdk的include项目目录和jdk的include下面win32目录
然后点击两次确定,关闭。
此时项目不再爆红:
把Debug修改成Release
删除Dll3.cpp下的#include "Dll3.h"以下的所有代码:
把Dll3.h文件下的函数名复制到Dll3.cpp中,并书写处理逻辑。
Dll3.cpp文件如图所示:
点击生成,再点击重新生成解决方案:
到该路径找到Dll3.dll文件,选择并复制:
粘贴到java项目的resource目录中:
在JNI中补充如下代码,System.load()里面写Dll3.dll的路径
补充main方法测试
查看测试结果,出现以下效果这成功了: