我在与JNI共享Java和C之间的流时遇到了问题。我试图从C调用一个Java方法,但当我试图获取<code>GetObjectMethodID</code>时,我得到了<code>nosuchmethodfound</code〕异常。
C代码:
jclass cls = (*env)->GetObjectClass(env, obj);
jmethodID aMethodID = (*env)->GetMethodID(env, cls, "callbackmethod", "(I)V");
if (aMethodID == 0) {
log("Unable to get methodID"); //Always getting aMethodID as 0
}
int myvar = 7;
(*env)->CallVoidMethod(env, obj, aMethodID, myvar);
Java代码:
public class myclass extends activity {
private void callbackmethod(int i) {
Log.d("Tag", "In Java code");
}
-------
more code
}
现在我总是收到一个错误<code>Ljava/lang/NoSuchMethodError;:回调方法。
一切看起来都很好,但我的代码不起作用。问题出在哪里?