我有一个Java实例方法,它返回一个String,我在C++中通过JNI调用此方法.我写了以下代码:
const char *DiagLayerContainer_getDESC(JNIEnv *env, jobject diagLayer) {
jclass diagLayerClass = env->FindClass(PARSER_CLASS);
jmethodID getDESCDiagLayerMethodID = env->GetMethodID(diagLayerClass, "getDESCDiagLayer", "(Ljava/lang/Object;)Ljava/lang/String;");
jstring returnString = (jstring) env->CallObjectMethod(diagLayer, getDESCDiagLayerMethodID);
return env->GetStringUTFChars(returnString, JNI_FALSE);
}
Run Code Online (Sandbox Code Playgroud)
如何获取字符串并将其转换为const char*?
我的程序在最后一行崩溃,访问冲突为0x00000000.returnString不是NULL.