我只是在学习android和JNI。在 Java 中,从一个按钮单击一个 JNI 被调用。在被调用的 JNI 中,我回调到 Java。忽略错误处理并尝试调用没有参数的静态 void 方法:
void Java_com_example_ndk2_AndroidNDK1SampleActivity_callme(JNIEnv * env, jobject this, int i)
{
jclass handlerClass = (*env)->FindClass(env, "com/example/ndk2/AndroidNDK1SampleActivity");
jmethodID mid = (*env)->GetStaticMethodID(env, handlerClass, "JavaCallback","()V");
(*env)->CallStaticVoidMethod(env, mid, NULL);
}
和FindClass
不GetStaticMethodID
返回错误。在回调 Java 时,Logcat 从 dalvikvm 指示:decodeIndirectRef 中的间接引用 0xxxx 无效。欢迎大家提出意见。