Первая проблема заключается в том, что ClassifierWrapper.getString () не является статическим.Вам нужно будет сделать его статическим или создать экземпляр ClassifierWrapper.
Вторая проблема заключается в том, что вы используете GetMethodId вместо GetStaticMethodId.
Для вызова метода, возвращающего объект (например, String).Вы бы вызвали CallStaticObjectMethod ().Это вернет локальную ссылку на объект задания на строку, возвращенную методом.Вы можете безопасно преобразовать задание в jstring (см. http://java.sun.com/docs/books/jni/html/types.html) и использовать GetStringUTFChars для получения символов, а GetStringUTFLength для получения количества символов.
JNI очень сложно. Вам нужно проверить ошибкукод для всего (используйте ExceptionCheck (), когда нет кода ошибки). Если вы не проверяете ошибки, он в большинстве случаев завершается сбоем молча, и обычно не в точке, где находится настоящая ошибка.
Вытакже необходимо понимать разницу между локальными и глобальными ссылками (и какие методы генерируют новые ссылки), чтобы не пропускать память и не выходить за пределы ссылки.Например, FindClass возвращает локальную ссылку на объект класса, но GetMethodId возвращает MethodID.
Удачи