话不多说,直接上代码
NIEXPORT jstring JNICALL Java_androids_ndk_com_myapplication_Main3Activity_executeJavaFiled(JNIEnv *env,jobject instance){
jclass clazz;
//用对象引用获得类
clazz = env ->GetObjectClass(instance);
//获取实例域的域ID
jfieldID instanceFieldId;
instanceFieldId = env ->GetFieldID(clazz,"instanceField","Ljava/lang/String;");
//获取静态域的域ID
jfieldID staticFieldId;
staticFieldId = env ->GetStaticFieldID(clazz,"staticField","Ljava/lang/String");
//获取实例域
jstring instanceField;
instanceField = (jstring)env ->GetObjectField(instance,instanceFieldId);
//获取静态域
jstring staticField;
staticField = (jstring)env ->GetStaticObjectField(clazz,staticFieldId);
returninstanceField;
}
代码片段截图:
网友评论