Я пытаюсь вызвать 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 (). Есть подсказки?