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中的类型对应表
V | void | void | N/A |
---|---|---|---|
Z | jboolean | boolean | 8 unsigned |
I | jint | int | 32 |
J | jlong | long | 64 |
D | jdouble | double | 64 |
F | jfloat | float | 32 |
B | jbyte | byte | 8 |
C | jchar | char | 16 unsigned |
S | jshort | short | 16 |
[I | jintArray | int[] |
---|---|---|
[F | jfloatArray | float[] |
[B | jbyteArray | byte[] |
[C | jcharArray | char[] |
[S | jshortArray | short[] |
[D | jdoubleArray | double[] |
[J | jlongArray | long[] |
[Z | jbooleanArray | Boolean[] |