我正在开发Android JNI,其中我试图从JNI调用Java方法,但收到以下错误:
java.lang.NoSuchMethodError:在Ljava / lang / Class类中没有name ='callmeback'cignra ='(I)V'的方法;
这是我的代码段。
Java代码 -
private void callmeback(int radius)
{
Log.d("native", "hieee" + radius);
}
原生代码 -
JNIEXPORT jboolean JNICALL Java_com_example_nativeaudio_NativeAudio_selectClip(JNIEnv * env, jobject obj,
jint count)
{
...........
jclass cls = (*env)->GetObjectClass(env, obj);
jmethodID mid = (*env)->GetMethodID(env, cls, "callmeback", "(I)V");
if (mid == 0) {
return;
}
(*env)->CallVoidMethod(env, obj, mid, count);
return JNI_TRUE;
}
还有一件事,我已经在NativeAudio类中编写了这个方法,为什么它会在Ljava / lang / Class中找不到的方法给出错误。 我在这里错过了什么。
感谢。