- 首先在java类中创建native方法
public class JniText {
public static void main(String[] args) {
System.out.println("asdasdasldas;d");
}
/**
* JNI(Java Native Interface)
* Java调用C/C++,C/C++调用Java的一套API
*
* 1.编写native方法
* 2.javah命令,生成.h头文件
* 3.复制.h头文件到CPP工程中
* 4.复制jni.h和jni_md.h文件到CPP工程中
* 5.实现.h头文件中声明的函数
* 6.生成dll文件
* 7.配置dll文件所在目录到环境变量(或者放置项目跟目录下)
* 8.重启IDEA
*/
public native static void getStringFromC();
}
- 然后使用javah生成.h文件
找到src路径 —> 进入src目录下 —> 使用javah 类全路径—> 生成.h头文件
javah -encoding UTF-8 cn.yumakeji.lib_serialportapi.SerialPort
注意这里和获取 .class 变量和方法签名的区别,这里的路径是.java文件的包名跟目录