因为需要调用C ++的动态库所以使用了JNI,这里把它记录下来以便以后研究:
JNI是什么就不介绍了,网络上面一大推解释;
JNI的主要流程就是java的定义好方法,然后使用JAVAH生成头,把头文件和对应JDK里面的.H文件,C ++会根据头文件实现,然后生成动态库:
第一步:定义头文件方法 - 生成头文件:
package com.koala.auth.jni;
import java.nio.ByteBuffer;
/**
* @Auther: gongyiyang
* @Date: 2018/11/6 09:37
* @Description:
*/
public class CDevice {
public native int getDeviceSN(ByteBuffer byteBuffer);
}
使用命令生成头文件:
路径中如果有空格那就需要使用双引号;后面加了包名生成的头文件才会有包名:
将头文件和jni.he还有jni_md.h发送给C ++,赢得和linux下这两个文件是有系统差异的,所