JNI里如果定义了一个返回值为jboolean型的函数,那么java端用Boolean是不行的,要用boolean才行


/**
 * 初始化seetaface人脸识别库
 * 参数:
 * vFaceModelDir:人脸识别模型文件所在目录,如/sdcard/
 */
JNIEXPORT jboolean JNICALL Java_seetaface_SeetaFace_init(
		JNIEnv *env, jobject obj, jstring vFaceModelDir)
{
	jboolean tRet = false;
	if(NULL == vFaceModelDir) {
		return tRet;
	}
	
	...
	tRet = true;
	return tRet; 
}


像这样就不行,运行的时候直接就 报【很抱歉,"xxx"已停止运行】

//初始化so库,告诉底层人脸识别模型文件的目录
public native Boolean init(String vModelDir);
	


要这样才行:

//初始化so库,告诉底层人脸识别模型文件的目录
public native boolean init(String vModelDir);




Logo

欢迎加入 MCP 技术社区!与志同道合者携手前行,一同解锁 MCP 技术的无限可能!

更多推荐