为了从JNI调用Android Activity中的java函数,我使用以下代码:
jmethodID messageMe = env->GetStaticMethodID(clazz, "updateStatus", "(IILjava/lang/String;)V");
env->CallStaticVoidMethod(clazz, messageMe);
它适用于Android 2.3,但不适用于Android 4.0.3,我收到此错误消息 E / dalvikvm(9341):JNI ERROR(app bug):访问过时的全局引用0x5b6130b2(大小为125的表中的索引19500)
那么,如何从新版本和旧版本的jni中正确调用java函数
由于
答案 0 :(得分:0)
您没有将任何参数传递给CallStaticVoidMethod
- 正如您在方法签名字符串中看到的那样,它正在期待4。
我在另一个问题中读到这个错误是由传入不正确的参数类型引起的: Error: JNI ERROR (app bug): accessed stale global reference