JNI是Java Native Interface的缩写,译为Java本地调用。JNI是一种技术。

Java层函数通过Java编译成.class文件,再通过Javah工具将将.class生成为JNI层的*.h头文件,在*.h头文件里有对应Java层的函数,在JNI层实现相关函数即可。
javah -o test packagename.classname
Java Native函数与JNI函数是一一对应的关系,所以,有一个数据结构存储着对应关系,这个数据结构就是JNINativeMethod结构体。
typedef struct {const char* name;const char* signature;void* fnPtr;
} JNINativeMethod;
JNINativeMethod name:Java函数名称,不包括包路径。
JNINativeMethod signature:Java函数签名,用字符串存储,签名信息由参数类型+返回值类型组成。
JNINativeMethod fnPtr