Jni是什么?
JavaNative Interface (JNI)标准是java平台的一部分,JNI是Java语言提供的Java和C/C++相互沟通的机制,Java可以通过JNI调用本地的C/C++代码,本地的C/C++的代码也可以调用java代码。JNI 是本地编程接口,Java和C/C++互相通过的接口。Java通过C/C++使用本地的代码的一个关键性原因在于C/C++代码的高效性。
NDK就是为我们生成了c/c++的动态链接库而已,jni呢只不过是java和c沟通而已,两者与android没有半毛钱关系,只因为安卓是java程序开发然后jni又能与c沟通,所以使“Java+C”的开发方式终于转正。
如何组成?
1.在Java中声明Native方法(即需要调用的本地方法)
2.编译上述 Java源文件javac(得到 .class文件)
3.通过 javah 命令导出JNI的头文件(.h文件)
4.使用 Java需要交互的本地代码 实现在 Java中声明的Native方法
5.如 Java 需要与 C++ 交互,那么就用C++实现 Java的Native方法
6.编译.so库文件
7.通过Java命令执行 Java程序,最终实现Java调用本地代码
下篇文章我以实例教大家如何使用jni生成.so文件,并实现增量更新的方法