有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

C++ JNI: java。使用defineClass时lang.AbstractMethodError;

<>我试图用JNI(java本地接口)在C++中加载类。 一切正常,但使用env->;DefineClass它抛出一个AbstractMethodError。知道怎么修理吗

我的代码:

jbyteArray arr = (jbyteArray) env->GetObjectArrayElement(fullArr, i);

jsize dataSize = env->GetArrayLength(arr);
jbyte* data = env->GetByteArrayElements(arr, NULL);

env->DefineClass("Test", classLoader, data, dataSize); // classLoader is the given jobject from the native method.

env->ReleaseByteArrayElements(arr, data, JNI_ABORT);
env->DeleteLocalRef(arr);

错误:

Exception in thread "main" java.lang.AbstractMethodError: java.lang.ClassLoader.loadClass(Ljava/lang/String;)Ljava/lang/Class;

提前感谢!:)


共 (0) 个答案