我正在使用带有 cocos2dx 的 NDK。在 main.cpp 中,我有以下方法。
void Java_org_cocos2dx_lib_Cocos2dxRenderer_nativeInit(JNIEnv* env,
jobject thiz, jint w, jint h)
是否可以将 jobject thiz 分配给另一个对象并在 cpp 中使用?像这样:-
static jobject context = NULL;
void Manager::SetJobject(jobject object)
{
context = object;
}
.............
// in some other class
//if platform == ANDROID
connectToSomeThirdParty(context, key );
我试过这个,但我崩溃了。崩溃日志如下所示:
10-01 11:38:13.228: E/dalvikvm(5828): JNI ERROR (app bug): attempt to use stale local reference 0x1e200001
10-01 11:38:13.228: E/dalvikvm(5828): VM aborting
10-01 11:38:13.228: A/libc(5828): Fatal signal 6 (SIGABRT) at 0x000016c4 (code=-6), thread 5857 (Thread-577)
提前致谢。