多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
前面一篇通过简单的例子介绍了android中JNI的使用。这一篇从基础上了解一些Java参数类型与本地参数类型区别。 1)java中的返回值void和JNI中的void是完全对应的哦!(仅仅一个而已)。 2)java中的基本数据类型(byte ,short ,int,long,float,double ,boolean,char-8种)在JNI中对应的数据类型只要在前面加上j就对应了(jbyte ,jshort ,jint,jlong,jfloat,jdouble ,jboolean,jchar)。 3)java中的对象,包括类库中定义的类、接口以及自定义的类接口,都对应于JNI中的jobject。 4)java中基本数据类型的数组对应与JNI中的jarray类型。(type就是上面说的8种基本数据类型) 5)java中对象的数组对应于JNI中的jobjectArray类型。(在java中一切对象、接口以及数组都是对象) 下图是JNI规范中java数据类型和JNI数据类型的映射图。 第一幅为基本数据类型的映射图: ![](https://box.kancloud.cn/2016-01-14_56971f3f4bfc6.gif) 第二幅为引用数据类型的映射图: ![](https://box.kancloud.cn/2016-01-14_56971f3f5ebc3.gif)