我有一个返回字符串的 Java 实例方法,我通过 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);
}
如何获取字符串并将其转换为 const char *?
我的程序在最后一行崩溃,访问冲突为 0x00000000。returnString 不为 NULL。