JNI аварийно завершает работу при вызове CallVoidMethod

Я пытаюсь вызвать java-метод из собственного C код в приложении для Android. Это звучит довольно просто с использованием JNI, но мой код всегда дает сбой при окончательном вызове самого метода. Здесь ' s мой код: Собственный код C:

JNIEXPORT void JNICALL
Java_com_path_to_my_package_renderStuff(JNIEnv* env,  jobject jobj){
//...
jclass clazz = env->FindClass("com/path/to/the/class");
jmethodID showCar = env->GetMethodID(clazz,"showCar","()V" );
env->CallVoidMethod(jobj,showCar); //If I comment this out, it won't crash
//...
}

Код Java:

public void showCar(){      
    doSomething()
}

doSomething () даже не достигается, я могу установить там точку останова, которая никогда не будет достигнута. И, как сказано выше, как только я закомментирую вызов CallVoidMethod, он не выйдет из строя, но, очевидно, не вызовет showCar (). Есть подсказки?

8
задан Lennart 23 September 2011 в 14:44
поделиться