我是Android NDK的新手,并试图在两个JNI方法调用中使用C ++类实例。我无法找到一个简约的例子。在Java的多个JNI调用中设置/获取对C ++类实例的引用需要哪些步骤?
一些伪代码:
C ++:
cOwnClass *oc = NULL; //the reference I want to use across all methods
JNIEXPORT jstring JNICALL Java_com_example_pkgname_clsname_methodset(
JNIEnv* env, jobject thiz ){
oc = new cOwnClass();
return env->NewStringUTF("set reference");
}
JNIEXPORT jstring JNICALL Java_com_example_pkgname_clsname_methodcall(
JNIEnv* env, jobject thiz ){
oc->ownMethod(); //oc should be set here
return env->NewStringUTF("used reference");
}
爪哇:
jniinstance.methodset();//creates the class instance
jniinstance.methodcall();//so methodcall should be able to use it