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[] |