jni问题总结:jni error (app bug): accessed stale local reference
连续两个错误:
jni error (app bug): accessed stale local reference 0xd0100019 (index 6 in a table of size 1)
一、jclass直接赋值导致的问题。
原因:不能直接引用jclass
解决方案:
static jclass myClass;
jclass cls = env->FindClass("com/xxx/class");
myClass = (jclass)env->NewGlobalRef(cls);
二、在c++某个方法中,直接引用不到jobject时,通过static jobject myObject,给对象set jobject均会发生各种异常。采用调用静态方法。如原来是
env->CallVoidMethod(myObj,postEventFromNativeID, result);非静态方法,需要时jobject(就是当前object),换种思路就是使用静态方法,只需要传入jclass就行。jclass可以通过错误一的结局方案得到,本质上获取jmethodID
env->CallStaticVoidMethod(myClass,postEventFromNativeID, result);
三、jni回调java中某个listener,c++中回调到jni中一个String,回调给java.
jclass myClass= env->FindClass("com/example/hejunlin/Native");jfieldID mOnDataSourcePreparedListenerFieldId = env->GetFieldID(myClass,"mOnDataSourcePreparedListener","Lcom/example/hejunlin/Native$OnDataSourcePreparedListener;");jobject mOnDataSourcePreparedListener = env->GetObjectField(myObj, mOnDataSourcePreparedListenerFieldId);if(mOnDataSourcePreparedListener == nullptr) {LOG_INFO("Fail to find jobject");gJavaVM->DetachCurrentThread();return;}jmethodID onDataSourcePrepared = env->GetMethodID(myListenerClass, "onDataSourcePrepared", "(Ljava/lang/String;)V");jstring result = env->NewStringUTF(input_filename);env->CallVoidMethod(mOnDataSourcePreparedListener, onDataSourcePrepared, result);
jni问题总结:jni error (app bug): accessed stale local reference相关推荐
- 海康摄像头视频调用出错,Jni Error(app bug): accessed stale local reference解决办法
项目中要在Android手机中调用海康摄像头拍摄的画面,在公司网管配置好了网络地址(不要与其他局域网内地址冲突)和端口,并激活摄像头设备后,通过SADPTool(海康提供的摄像头搜索工具)可以自动检索 ...
- Android之JNI ERROR (app bug): accessed stale global reference 0xb39533f2 (index 19708 in a table of s
1.问题 2.原因 我在jni里面是这样写的 (*env)->CallVoidMethod(env, obj, method3, "chenyu"); 3.解决办法 把这个 ...
- JNI Local Reference Changes in ICS
转:http://android-developers.blogspot.com/2011/11/jni-local-reference-changes-in-ics.html JNI Local R ...
- Android JNI学习(四)——JNI的常用方法的API
前三篇主要讲解了jni基础相关的理论知识,今天主要讲解一下JNI的常用方法的API,掌握了基本的理论知识和常用的API接下来才能更好的实战. jni的常用API大纲 再看API前,我建议大家主要结合官 ...
- OpenCL ICD Loader运行测试暨解决报错:ERROR: App log and stub log differ.
上一篇博文<OpenCL Installable Client Driver (ICD) Loader编译>详细描述了如何编译OpenCL ICD Loader.OpenCL ICD Lo ...
- Android JNI Attempt to remove non-JNI local reference, dumping thread
Attempt to remove non-JNI local reference, dumping thread 解决办法: 去除Jni代码 env->DeleteLocalRef(javaO ...
- 报错 | error ‘App‘ is not defined no-undef
error 'App' is not defined no-undef 解决方法:在vue.config.js文件中写入以下代码,之后在npm run serve/dev就行(如果没有这个文件,就 ...
- JNI系列(一)JNI简介
一.什么是JNI? 看下百度百科怎么说的: JNI是Java Native Interface的缩写,通过使用 Java本地接口书写程序,可以确保代码在不同的平台上方便移植.从Java1.1开始,JN ...
- message:Error app.json app.json 未找到 public
message:Error app.json app.json 未找到 public 文档:message:Error app.json app.json 未?.. 链接
- Error: Could not link: /usr/local/share/doc/homebrew
文章转自:http://c.n-di.com/2017/07/17/1827.html 版权归原作者! mac 执行brew update 报错 Error: Could not link: /usr ...
最新文章
- WCF之元数据交换 (Metadata Exchange)
- 搜索引擎蜘蛛为什么对网站不爬行呢?
- 一种基于FPGA 的1080p 高清多摄像头全景视频拼接的泊车(机)
- IPSec的安全性如何?—微云MPLS
- 异常:This application has no explicit mapping for /error.以及spring.mvc.view.prefix配置解决
- Java 并发编程之创建线程,启动和常用方法
- LeetCode(118)——杨辉三角(JavaScript)
- matlab俄罗斯方块说明,俄罗斯方块MATLAB版的代码
- 第十一届 蓝桥杯 省 模拟赛 试题+题解 C/C++描述
- 《动手学ROS2进阶篇》8.2RVIZ2可视化移动机器人模型
- 【ROS】中级操作学习整理-TF坐标变换
- 聚类 Cluster
- 英语学习资料下载大全
- python程序的控制结构思维导图_python学习之路2(程序的控制结构)
- Python数据类型——String
- 两个ListMap中同下标的map去重合并
- Linux操作系统下的一些简单网络配置命令
- 花里花哨惹人烦,PPT做到什么程度就够了?
- 火影推荐程序连载32-我是如何使用freemarker生成Word文件的?
- 多重派生及有子对象的构造函数
热门文章
- videojs学习随笔记录
- 一个简单的十年回顾及展望
- WEB测试与APP测试重点及区别
- 论文笔记_S2D.73_2019_BTS_从大到小:多尺度局部平面引导的单目深度估计
- 图像处理_形态学运算中的膨胀与腐蚀直观理解
- CVPR2018论文阅读-Faster MPN-COV:迭代计算矩阵平方根以快速训练全局协方差池化
- tf之 MessageFilter 与 tf::MessageFilter理解与应用
- 显著性测试(Friedman test, Post-hoc Nimenyi test以及可视化)
- ORB-SLAM3:一个用于视觉、视觉惯性和多地图SLAM系统
- java.lang.ClassFormatError