私はアンドロイドとJNIを学んでいます。Java 内では、ボタン クリックから JNI が呼び出されます。呼び出された JNI 内で、Java にコールバックします。エラー処理を省略し、パラメータなしで static 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。どんな提案でも大歓迎です。