jni 在内部 class , java.lang.NoSuchMethodError 中找不到方法
jni doesn't find method in inner class , java.lang.NoSuchMethodError
我有一个关于使用 JNI 访问嵌套 classes 中的方法的问题。
public class AccountUI {
public native ExtrasWageUI[] getExtrasWages();
public class ExtrasWageUI {
public ExtrasWageUI() {
mCppHandle = callConstructorN();
}
public ExtrasWageUI(long cppHandle) {
mCppHandle = cppHandle;
}
private native long callConstructorN();
}
}
我会在 accountUI.getExtrasWages()
:
收到错误
java.lang.NoSuchMethodError: no method with name='' signature='(J)V' in class
Lde/projects/customer/.../myProject/domain/AccountUI$ExtrasWageUI;
JNI 找不到该方法。
有谁知道我如何访问内部 class 中的方法?
你必须在签名中添加外class:
environment->GetMethodID(resultClassAssistantUI, "<init>", "(L.../domain/AccountUI;J)V");
我有一个关于使用 JNI 访问嵌套 classes 中的方法的问题。
public class AccountUI {
public native ExtrasWageUI[] getExtrasWages();
public class ExtrasWageUI {
public ExtrasWageUI() {
mCppHandle = callConstructorN();
}
public ExtrasWageUI(long cppHandle) {
mCppHandle = cppHandle;
}
private native long callConstructorN();
}
}
我会在 accountUI.getExtrasWages()
:
java.lang.NoSuchMethodError: no method with name='' signature='(J)V' in class Lde/projects/customer/.../myProject/domain/AccountUI$ExtrasWageUI;
JNI 找不到该方法。 有谁知道我如何访问内部 class 中的方法?
你必须在签名中添加外class:
environment->GetMethodID(resultClassAssistantUI, "<init>", "(L.../domain/AccountUI;J)V");