一、JNI基本数据类型字符对应

JNI第一天 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"

 

相关文章: