当我们需要在native中回调java类中的函数时,需要知道函数的签名,下面简要介绍下java类型函数签名。
类型 相应的签名
boolean Z
byte B
char C
short S
int I
long J
float F
double D
void V
object L包 用/分隔 的完整类名: Ljava/lang/String;
boolean Z
byte B
char C
short S
int I
long J
float F
double D
void V
object L包 用/分隔 的完整类名: Ljava/lang/String;
Array [签名 [I [Ljava/lang/Object;
Method (参数1类型签名 参数2类型签名···)返回值类型签名
Method (参数1类型签名 参数2类型签名···)返回值类型签名
void f1() ()V
int f2(int, long) (IJ)I
boolean f3(int[]) ([I)B
double f4(String, int) (Ljava/lang/String;I)D
void f5(int, String [], char) (I[Ljava/lang/String;C)V
拓展链接:
http://docs.oracle.com/javase/6/docs/technotes/guides/jni/spec/types.html#wp428
配置环境:eclipse
虽然函数签名自己写也不是很复杂,但是如果调用的多了,感觉工作量还是不小的,eclipse中同样也可以对javap进行配置,实现直接打印出java类中的函数签名。下面一起看下如何进行配置吧。
第一步,打开run->External Tools->External Tools Configurations
第二步,Program右键New
第三步,配置对应的信息
至此,javap在eclipse中的配置完成了,我们可以通过javap打印出java类中的响应函数的签名了。
注:
1、javap可以针对多个工程使用。
2、使用时选中工程下面带有native接口的类,然后执行javap操作,否则会报错。