jni中调用ReleaseStringUTFChars出错
jni中调用ReleaseStringUTFChars出错
void Java_org_com_example_getdemoInit(JNIEnv *env, jobject thiz, jstring path){ if (path == NULL) { return; } jboolean isCopy; const char *pathStr = (*env)->GetStringUTFChars(env, path, &isCopy); if (pathStr == NULL) { return; } strncpy(filename, pathStr, FILE_NAME_SIZE); (*env)->ReleaseStringUTFChars(env, path, pathStr);///<---为什么这里出错呢 }
我怎么也没有看出是哪里出错了,可是调试应是发现 在 (*env)->ReleaseStringUTFChars(env, path, pathStr);这行出错,请教下这个是为什么,谢谢!
打印信息是: jni called error!
忘记给相关变量分配内存了吧