При использовании собственного интерфейса Java на Android я сделал две глупые ошибки, которые стоили мне много времени.
Имея этот идентификатор метода:
jmethodID myMethod_methodID = env->GetMethodID(hello_Cls, "myMethod", "(ILjava/lang/String;Ljava/lang/String;I)Z");
Моя первая ошибка заключалась в вызове его с использованием
env->CallVoidMethod
, а вторая ошибка заключалась в том, что он называл его так
jboolean rv = jenv->CallBooleanMethod(hello_obj, myMethod_methodID, myfirst_jstring, mysecond_jstring, 1);
, в котором явно отсутствовал аргумент jint
между myMethod_methodID
и myfirst_jstring
.
Мне потребовалось много времени, чтобы отследить эти ошибки, потому что в logcat не было соответствующего вывода, и единственное поведение - ничего не делать (даже не аварийно).
Итак, вопрос: Как мне получить более значимые ошибки для такого рода ошибок?