一、JNI基本數據類型字符對應
"()V" "(II)V" "(Ljava/lang/String;Ljava/lang/String;)V"
()中的字符表示參數,後面的則代表返回值
"()V"就代表 void func()
"(II)V" 表示 void func(int,int)
上述是單字符的表示,下面來看下數組的表示方法
數組是以"["開始用兩個字符表示 如:
[I jintArray int[]
[F jfloatArray float[]
以此類推。
二、對象類型的對應方法
對象類型的參數是以“L”開頭以“;”結尾,中間部分用“/”隔開的包及類名。而其對應的C函數名的參數則爲jobject,一個例外是String類,其對應的類是jstring,即:
Ljava/lang/String中的String jstring;
Ljava/net/Socket中的Socket jobject
如果Java函數位於一個嵌入類,則使用$作爲類名間的分隔符.例如:
"(Ljava/lang/String;Landroid/os/FileUtils$FileStatus;)Z"