0

为了从 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(索引 19500 在大小为 125 的表中)

那么,我如何才能从 jni 为新旧版本正确调用 java 函数

谢谢

4

1 回答 1

0

您没有将任何参数传递给CallStaticVoidMethod- 正如您在方法签名字符串中看到的那样,它需要 4。

我在另一个问题中读到此错误是由传入不正确的参数类型引起的: 错误:JNI 错误(应用程序错误):访问过时的全局参考

于 2013-08-26T18:46:00.060 回答