При использовании нативного интерфейса 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 не было соответствующих выходных данных, и единственное поведение ничего не делало (даже не вылетало).
Итак, вопрос в следующем: Как получить более значимые ошибки для таких ошибок?