1 2 3 4 5 6 7 8 9 10 11 12 13
| JNI 提供了多种函数来操作 Java 对象,包括: 1.获取对象字段: jfieldID fieldId = (*env)->GetFieldID(env, clazz, "fieldName", "Ljava/lang/String;"); jstring fieldValue = (*env)->GetObjectField(env, obj, fieldId);
2.调用对象方法: jmethodID methodId = (*env)->GetMethodID(env, clazz, "methodName", "()V"); (*env)->CallVoidMethod(env, obj, methodId);
3.创建对象: jclass cls = (*env)->FindClass(env, "com/example/MyClass"); jmethodID constructor = (*env)->GetMethodID(env, cls, "<init>", "()V"); jobject obj = (*env)->NewObject(env, cls, constructor);
|