Code:
JNIEXPORT jobject JNICALL Java_pdtwain_PdTwain_getTwainSources
(JNIEnv *env, jclass){
jclass arrayList = env->FindClass("java/util/ArrayList");
jobject ret = env->NewObject(arrayList, env->GetMethodID(arrayList, "<init>", "()V"));
jmethodID addObject = env->GetMethodID(arrayList, "add", "(Ljava/lang/Object;)Z");
jobject aResult = env->NewStringUTF("In C++ erzeugter String");
env->CallBooleanMethod(arrayList, addObject, aResult);
if (env->ExceptionOccurred()) {
env->ExceptionDescribe();
env->ExceptionClear();
}
return ret;
}
Bei oben aufgeführtem Code tritt eine Exception auf verursacht durch Zeile 9:
java.lang.AbstractMethodError: java.util.ArrayList.add(Ljava/lang/Object
at pdtwain.PdTwain.getTwainSources(Native Method)
at pdtwain.PdTwain.main(PdTwain.java:22)
Somit bekomme ich eine leere ArrayList zurück.
Wo liegt denn nun mein Denkfehler?