JNI,是用于开发本地C函数库的技术。用于链接JAVA和C或者C++语言的桥梁。在部分android项目开发中,我们是需要用到这项技术的。在升级APP的时候,我们有时间需要用到增量更新技术,这个也是基于JNI技术实现的,详情请点击:基于JNI技术实现增量更新
那么废话不多说,进入正题。
开发JNI,需要用到NDK,这个大家应该都知道了。还需要一个linux的开发环境。一般而言,可以使用虚拟机装一个ubantu,博主以前就是搞linux开发的,这点还是比较熟悉。但是对于大部分android开发者而言,弄一个虚拟机成本太高。那么,我们需要搭建一个模拟linux的开发环境。这个博主就不说了,直接上链接
以上博文其实只需要做完第三步即可,如果是下载安装谷歌官方集成的eclipse,第三步都可以不用做了。
好,当一切东西都准备好了之后,我们以一个例子来讲解如何开发一个JNI项目。
一、新建一个Android项目
这个正常使用,就是新建一个Android项目
二、C语言方法实现。
1、新建本地native方法
一般而言,需要用C语言实现的方法,我们需要用native关键字去修饰,这些方法可以放在任何一个类中,博主为方便,就都放入一个类中去。参考代码:
public class DataProvider {
public native int add(int x, int y); //
public native String sayHelloInC(String s);
public native int[] intMethod(int[] iNum);
}
2、编译native方法
这里需要用C语言去实现三个方法,一般而言,我们用到JNI技术,都是用做加密。所以,上述三个方法应该是常用的方法。这个使用,我们需要将这个类用javah去编译生成C代码的头