我正在尝试调用一个Java API,该Java API接受来自JNI的字符串的ArraList
/*My Java Method that needs to be called from JNI*/
public void postArrayListOfStringsToJavaFromJNI(ArrayList<String> list)
{
}
//I am trying to create the methodId like below in JNI to call my Java API postArrayListOfStringsToJavaFromJNI
jmethodID method_id = env->GetMethodID(dmrcallbacks, "postArrayListOfStringsToJavaFromJNI", "(Ljava/lang/Object;)V");
但是我遇到一个错误
11-22 23:22:45.130: E/AndroidRuntime(19189): java.lang.NoSuchMethodError: no method with name='postArrayListOfStringsToJavaFromJNI' signature='(Ljava/lang/Object;)V' in class Lcom/example/JavaSample;
使用“(Ljava / lang / Object;)V”作为使用参数“ArrayList”调用Java API的第一个参数的GetMethodID调用是否存在任何问题
最佳答案
(Ljava/lang/Object;)V
是采用单个参数void
的java.lang.Object
方法的签名,您大概需要(Ljava/util/ArrayList;)V
。
关于java - 无法使用JNI的ArrayList对象调用Java API,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13518025/