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");
}