Visual Studio 2019 使用 CMake 开发 JNI 动态库实现JAVA调用本地代码
1.我们使用的工具是 IntelliJ IDEA 2018(编写java代码)和VisualStudio 2019(编写Native方法)。
2.首先我们先使用VisualStudio 2019编写Native方法。
1)创建项目
2)配置.txt文件:默认生成的是可执行文件,但是此处我们要生成动态库,因此将默认的配置注释掉。添加新的配置。
修改之后输入快捷键 " Ctrl+Shift+B “,编译项目,生成动态库。
查看项目的本地目录下是否生成 项目名.dll 动态库。
配置 jni.h头文件。
找到本地JDK配置路径。
查找到JDK文件中include和win32目录。
将两个目录配置到.txt文件中。
3)编写项目名.cpp文件。
在项目名.cpp中导入JNI头文件。
之后编译(” Ctrl+Shift+B ")生成,没有报错就说明成功导入。
编写需要在Java中调用的Native方法。
之后编译(" Ctrl+Shift+B ")生成,没有报错的话,Native方法就算是编写成功了。
3.使用IntelliJ IDEA 2018编写Java代码。
public class Demo2 {
//定义一个Native方法
public native void jniTest(int i, String s);
//加载动态库的绝对路径
static {
System.load("D:\\VisualStudio\\project\\CMakeProject2\\out\\build\\x64-Debug (默认值)\\CMakeProject2\\CMakeProject2.dll");
}
public static void main(String[] args) {
Demo2 demo2 = new Demo2();
demo2.jniTest(2, "Hello JNI");
}
}
输出:
Java_study_Demo2_jniTest : 2 , Hello JNI
动态库文件位置:
整理借鉴了很多大佬写的,在此无法一一说明,这只是个人用来查漏补缺的文章,如果对你有帮助我很高兴。