3
我刚学Android和JNI。在Java中,从一个按钮中点击一个JNI被调用。在被调用的JNI中,我调用了Java。 离开了错误处理,并试图调用静态无效的方法,没有PARMS:在Android上,可Java调用JNI,然后JNI回调到Java?
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。欢迎大家提出意见。