一些说明
//查找JNIAPI类,得到类的class,包名每级用/分隔
jclass clazz = env->FindClass("com/g/im/JNIAPI");
//通过类查找静态方法,得到方法的引用,callBackLogin为方法名称,"Ljava/lang/String;"表示函数参数为String类型,要用括号括起来,V表示函数返回值为void
jmethodID methodId = env -> GetStaticMethodID(clazz, "callBackLogin", "(Ljava/lang/String;)V")
//调用此方法,第三个参数为
env->CallStaticVoidMethod(clazz, id, jstring类型的字符串)
在JNI中与Java类型对应的类型如下,一个方法有多个参数时直接组合使用:
类类型:L包名/类名; 需要以分号结尾,如:Ljava/lang/String;
类类型[]:[L包名/类名; 需要以分号结尾,如:[Ljava/lang/String;
boolean:Z 如:env -> GetStaticMethodID(clazz, "callBackLogin", "(Z)V")
boolean[]:[Z
byte:B
byte[]:[B
char:C
char[]:[C
short