C层向Java层通信
C层访问Java层的方法
// java代码
/*
* 在C中调用次方法,获取登入的用户id
*/
private String getLoginUserId(){
return "100010";
}
// c代码
// 3. 访问java方法
JNIEXPORT void JNICALL Java_com_jerry_jnitest_JniTest_accessMethod
(JNIEnv *env, jobject jobj) {
// 获取jclass
jclass cls = (*env)->GetObjectClass(env, jobj);
// 获取调用方法的jmethodID
jmethodID methodID = (*env)->GetMethodID(env, cls, "getLoginUserId", "()Ljava/lang/String;");
// 调用获取登录用户id的方法
jint value = (*env)->CallIntMethod(env, jobj, methodID);
printf("userId = %s\n", value);
}
C层访问Java层的静态方法
// java代码
// c中调用的java静态方法
/**
* 获取文件的大小
* @param pathName
* @return 文件大小
*/
public sta