我正在尝试调用一个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是采用单个参数voidjava.lang.Object方法的签名,您大概需要(Ljava/util/ArrayList;)V

关于java - 无法使用JNI的ArrayList对象调用Java API,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13518025/

10-09 07:58
查看更多