在jni中,刚开始很困惑 (*env)->GetMethodID(env, jclazz, "getRandomNumber", "(I)I"); 这类代码的第三个参数为什么要这样写?是有什么特殊意义?
后来才明白这是C访问java方法的Signature签名。我的理解就是唯一性吧(不知道对不对。。。).此文教大家这么获取这个Signature。在CMD中指向项目中bin目录下的classes目录。然后输入:javap -s 包名.类名 如下图:
在jni中,刚开始很困惑 (*env)->GetMethodID(env, jclazz, "getRandomNumber", "(I)I"); 这类代码的第三个参数为什么要这样写?是有什么特殊意义?
后来才明白这是C访问java方法的Signature签名。我的理解就是唯一性吧(不知道对不对。。。).此文教大家这么获取这个Signature。在CMD中指向项目中bin目录下的classes目录。然后输入:javap -s 包名.类名 如下图: