android - 错误 : JNI ERROR (app bug): accessed stale global reference

标签 android mono xamarin.android monodevelop xamarin

我收到这个错误 JNI 错误(应用程序错误):访问过时的全局引用当我在 Android OS v4 中运行我的应用程序时,但是当我在 Android v2.3 中运行相同的应用程序时,我没有收到此错误。 p>

这个错误发生在我调用 AsyncTask 类时,我将一个字符串数组作为参数传递

谁能帮帮我??

最佳答案

当您使用不正确的参数类型调用方法时会发生此错误。

确保您的方法签名与您传递的内容完全匹配。对于字符串数组:

jmethodID mid = env->GetMethodID(cls, methodName, "([Ljava/lang/String;)V");

如果你自己创建它,它看起来像这样:

jclass stringCls = env->FindClass("java/lang/String");
jobjectArray mStringArray = env->NewObjectArray( mSize, stringCls, NULL);

在您的特定情况下,您很可能不会在 Android 2.3 上看到崩溃,因为您正在调用 AsyncTask.execute() 直到 API 11(Android 3.0)才可用并且您的 jmethodID 为空。 (获取 jclass 和 jmethodID 后始终检查它们是否为 null 是个好主意)

关于android - 错误 : JNI ERROR (app bug): accessed stale global reference,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12071585/

相关文章:

android - 检查 TextView 是否完全可见

java app 开发报错 is not enclosing class

c# - Xamarin - 检索项目 : No resource found that matches the given name 'Theme.AppCompat.Light.DarkActionBar' 的父项时出错

Android Studio 无法解析任何符号

android - 适用于不使用 ant 的 Android 的 Newrelic 安装

c - MonoMac NSDrawThreePartImage/C 绑定(bind)

c# - Array Adapter 重载方法

Xamarin Android SDK 和 NDK 目录

c# - MonoDroid 存在 ListView.ItemClick 和 AddFooterView 错误

linux - 在 GNU/Linux 上获取由 MONO 执行的进程