不论是JNI库文件还是非JNI库文件。在任何本地方法被调用之前必须先用这个两个方法之一把相应的JNI库文件装载。
示例如下:
public class JniTest {
static {
System.loadLibrary(“JniLib”);
}
这里作一些需要的函数声明即可
}
之后在Jni文件夹下
建立JniLib.cpp
在JniLib.cpp中我们来写JniTest类中声明函数的具体实现方法。
在具体实现的时候,我们只关心函数原型
JNIEXPORT jint JNICALL
Java_com_example_MyApplication_JniTest_XXXX(JNIEnv , jclass);
这里JNIEXPORT和JNICALL都是JNI的关键字,表示此函数是要被JNI调用的。而jint是以JNI为中介使JAVA的int类型与本地的int沟通的一种类型,我们可以视而不见,就当做int使用。函数的名称是JAVA_再加上java程序的package路径再加函数名组成的。参数中,我们也只需要关心在JAVA程序中存在的参数,至于JNIEnv和jclass我们一般没有必要去碰它。