标签:
转载请声明:原文转自:http://www.cnblogs.com/xiezie/p/5930503.html
JNIEXPORT void JNICALL Java_nativeMethod (JNIEnv *env, jobject thiz) { MyCPlusObj *obj = new MyCPlusObj(); jclass clazz = (jclass)(*env).GetObjectClass(thiz); jfieldID fid = (jfieldID)(*env).GetFieldID(clazz, "mObj", "I"); (*env).SetIntField(thiz, fid, (jint)obj); }
jclass objClazz = (jclass)env->GetObjectClass(obj);//obj为对应的JAVA对象 jfieldID fid = env->GetFieldID(objClazz, "mObj", "I"); jlong p = (jlong)env->GetObjectField(obj, fid); MyCPlusObj *cPlusObj = (MyCPlusObj *)p; //cPlusObj 为JAVA对象对应的C++对象
jobject gThiz = (jobject)env->NewGlobalRef(thiz);//thiz为JAVA对象 (*obj).javaObj = (jint)gThiz;
Android JNI之JAVA与C++对象建立对称关联(JNI优化设计,确保JNI调用的稳定性)
标签:
原文地址:http://www.cnblogs.com/xiezie/p/5930503.html