JNI를 사용해서 C, C++ 코드를 사용 할 떄 각 코드별로 다르게 코딩해주어야 한다.


C 사용시
JNIEnv *GetEnv()
{
	JNIEnv *env = NULL;

	(*g_vm)->GetEnv(g_vm, (void **)&env, JNI_VERSION_1_4);
	if ( env == NULL )
	{
		(*g_vm)->AttachCurrentThread(g_vm, (JNIEnv **)&env, NULL);
	}

	return env;
}

jclass getJClass(JNIEnv *env)
{
	return (*env)->FindClass(env, "com/berabue/test/GLView");
}

C++ 사용시
JNIEnv *GetEnv()
{
	JNIEnv *env = NULL;

	g_vm->GetEnv((void **)&env, JNI_VERSION_1_4);
	if ( env == NULL )
	{
		g_vm->AttachCurrentThread((JNIEnv **)&env, NULL);
	}

	return env;
}

jclass getJMainClass(JNIEnv *env)
{
	return env->FindClass("com/berabue/test/GLView");
}




+ Recent posts