JNI开发中报Fatal Signal 11 code 1,怎么解决?

com.viking.myapplication A/libc: Fatal signal 11 (SIGSEGV), code 1, fault addr 0x9c in tid 9502 (g.myapplication).
jclass jregimageexclass;
jobject jregimageexobject;
JNIEnv *env2;
JNIEXPORT jint JNICALL Java_com_viking_myapplication_JniMethod_NetImageSnap
(JNIEnv *env, jobject jobj, jint tHandle,jobject ptImageSnap){
LOGE("Java_com_viking_myapplication_JniMethod_NetImageSnap");
jregimageexclass = env->GetObjectClass(jobj);
jregimageexobject =jobj;
env2 =env;
T_DCImageSnap t_dcImageSnap;
jclass jclazz = env->GetObjectClass(ptImageSnap);
jfieldID uiImageIdID = env->GetFieldID(jclazz,"uiImageId","I");
t_dcImageSnap.uiImageId = (unsigned int)env->GetIntField(ptImageSnap,uiImageIdID);
jfieldID ucLightIndexID =env->GetFieldID(jclazz,"ucLightIndex","B");
t_dcImageSnap.ucLightIndex = (unsigned char)env->GetByteField(ptImageSnap,ucLightIndexID);
jfieldID ucLightModeID =env->GetFieldID(jclazz,"ucLightMode","B");
t_dcImageSnap.ucLightMode =(unsigned char)env->GetByteField(ptImageSnap,ucLightModeID);
jfieldID usGroupIdID =env->GetFieldID(jclazz,"usGroupId","S");
t_dcImageSnap.usGroupId =(unsigned short)env->GetShortField(ptImageSnap,usGroupIdID);
jint result =Net_ImageSnap(tHandle,&t_dcImageSnap);
return result;
}//回调接口
int GetImageCbEx(DCHANDLE tHandle, unsigned int uiImageId, T_ImageUserInfo *ptImageInfo,T_PicInfo *ptPicInfo,void *pUser){
LOGE("GetImageCbEx:回调注册一");
if (env1==NULL){
LOGE("0");
}
LOGE("2");
jint i = 11;
LOGE("3");
//jclass jimageuserinfobean = env1->FindClass("com/viking/bean/TImageUserInfo");
//报错位置 ,不管使用什么 env1的函数,都报这个错误,
jstring str = env1->NewStringUTF("HelloJNI");
return 0;
}//注册回调接口
JNIEXPORT jint JNICALL Java_com_viking_myapplication_JniMethod_NetRegImageRecvEx(JNIEnv *env, jobject jobj, jint tHandle, jstring pUser){
LOGE("Java_com_viking_myapplication_JniMethod_NetRegImageRecvEx");
char *puser = (char*)env->GetStringUTFChars(pUser,0);
return Net_RegImageRecvEx(tHandle, GetImageCbEx,(void*)puser);
}跪求哪位大神帮忙看看,是什么问题.....
相关推荐
安卓源码截屏
在开发截屏应用的时候调用系统接口来截屏,自己单独写了一个jni来调用系统截屏接口 screencap ( frameworks/base/cmds/screencap/screencap.cpp),然后在源代码中编译jni成一个so文件(libscreencapjni.so),可是在真机上测试出现了SurfaceFlinger Permission Denial: can't read framebuffer pid=14444, uid=1010这个问题,紧接着就出现了Fatal signal 11 (SIGSEGV) at 0x00000000 (code=1), thread 14444 (droid.ScreenCap)这个问题,不知道是什么原因?希望能够解答,谢谢!(注意:手机root过,在XML上添加了<uses-permission android:name="android.permission.READ_FRAME_BUFFER" />权限,fb0也赋予了权限并且让进程以 root 用户执行了)
国央企创新负责人如何构建多维度的科技资源评价与配置体系?.docx
国央企创新负责人如何构建多维度的科技资源评价与配置体系?
《移动通信系统》全套PPT课件2026(西安电子科技大学)
《移动通信系统》全套PPT课件2026(西安电子科技大学)
Python3 json序列化常见报错
json只能序列化字符串、数字、列表、字典、布尔、空值。无法序列化datetime、bytes、自定义类对象,直接dumps会抛出类型错误。解决方案:自定义序列化函数,通过default参数传入,手动转换特殊对象。中文乱码:默认ensure_ascii=True会转义中文,改为False直接输出原生中文。反序列化loads注意:json字符串要求双引号,Python字典单引号字符串无法解析,需要提前替换引号。 lxwuhua.cn mayawalkermx.com mccia.com.cn lzsxgqscgs.com mftug.com
产业园区运营负责人如何精准对接区域技术成果与产业需求?.docx
产业园区运营负责人如何精准对接区域技术成果与产业需求?



