Как проверить в JNI, существует ли класс Java?

#c #java-native-interface

Вопрос:

Если я использую это:

 if(!env->FindClass("com/test/app")){
    Log("Not found");
    return 0;
}
 

Я получил сообщение об ошибке: такого класса нет

Ответ №1:

Как упоминалось в документации, FindClass может привести к возникновению множества исключений (Java).

Выполнение любых дальнейших вызовов JNI с ожидающим Java-исключением является ошибкой. Итак, вам нужно, как минимум, очистить исключение с помощью env->ExceptionClear() .