JNI 函数签名

85 阅读1分钟

JNI 函数签名

JNI中的getMethodID 中的函数签名对应

(形参类型1 ...)返回类型

引用类型签名:L包名; (其中包名/分割,最后的分号)

"(II)V" 表示 void Func(int, int)

(Ljava/lang/String;Ljava/lang/String;)V 表示 void Func(String,String)

函数位于一个嵌入类,则用$作为类名间的分隔符。

如 "(Ljava/lang/String;Landroid/os/FileUtils$FileStatus;)Z"

JNI中的类型对应表

VvoidvoidN/A
Zjbooleanboolean8 unsigned
Ijintint32
Jjlonglong64
Djdoubledouble64
Fjfloatfloat32
Bjbytebyte8
Cjcharchar16 unsigned
Sjshortshort16
[IjintArrayint[]
[FjfloatArrayfloat[]
[BjbyteArraybyte[]
[CjcharArraychar[]
[SjshortArrayshort[]
[DjdoubleArraydouble[]
[JjlongArraylong[]
[ZjbooleanArrayBoolean[]