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。歡迎大家提出意見。