Android-NDK/JNIAndroid技术知识Android进阶之路

Android JNI之基本点(android studio)

2017-05-27  本文已影响104人  流浪的乌托邦

开头总要说点什么

青山依旧,绿水长流。要想把 JNI 拿捏在手里任意操作,基本点一定要抓牢。基本点也没多少,我就拣点基本的。一个中心,两个基本点。邓爷爷亲切的话语,环绕在耳边,久久不能散去。

基本点1. 数据类型

懵逼的新数据类型,有个熟悉的东东做对比最好不过了,我是谁一目了然。当然,不仅仅是对比。java 的目的是要娶c++,JNI 这媒婆是一个有原则的人,java找上我, 必须穿我的新衣。这过程,我们也不需要做什么,安安心心看着,JNI 服务先进,自动化穿衣。

java类型 jni类型
boolean jboolean
byte jbyte
char jchar
short jshort
int jint
long jlong
float jfloat
double jdouble
void void
对象 jobect
String(出轨对象,就是不一样的待遇) jstring
数组 j[*]array

上面这个表的类型,理解了就好,不要多问。至于对象,还是给点提示,出轨的,我也很无奈。这个对象呢,需要利用反射去拆分,一个巨大的痛点,从入门到差点放弃。

基本点2. 类型签名

零散的代码拼凑在一起成为了一个交流窗口,JNI 根据 java 接口信息参数挨个进行类型签名,然后才能进行访问。废话不多讲,啪啪啪,几行表格上青天。

java类型 类型签名
boolean Z
byte B
char C
short S
int I
long J
float F
double D
对象 L对象详细身份;
type[] [ type

解释,已经显得多余了,都懂都懂。

结束

到了这里,两个基本点在手,天下我有。JNI 的奇迹,已经走在路上了。
附送一张机票,带你领略世界的浩瀚

上一篇下一篇

猜你喜欢

热点阅读