我只是在学习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无效。任何建议都会受到欢迎。
答案 0 :(得分:3)
在调用不带(“()V”)的方法时,删除传递的参数(NULL)。