方法的jni签名

时间:2014-02-26 10:26:24

标签: java c++ java-native-interface

我的java方法包含一个函数

 public static void downLoadProfileImage(String url, String fileName,  int tag, int from)

我收到JNI签名错误:

if (JniHelper::getStaticMethodInfo(jniMethodInfo, packageName.c_str(), "downLoadProfileImage", "(Ljava/lang/String;Ljava/lang/String;I;I;)V")) 

如果我只保留两个字符串,一切正常。但是有两个整数会引发错误?我做错了什么?

1 个答案:

答案 0 :(得分:6)

两个整数标记(I)不应该有以下分号。尝试:

(Ljava/lang/String;Ljava/lang/String;II)V

编辑:最好的工作方式可能是使用" javap -s"让java为你打印签名。另外,请务必阅读并理解this page