我有一个关于使用JNI访问嵌套类中的方法的问题。
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:在课堂上没有名称=''signature ='(J)V'的方法 LDE /项目/客户/.../ myProject的/域/ AccountUI $ ExtrasWageUI;
JNI找不到方法。 有谁知道如何在内部类中访问该方法?
答案 0 :(得分:1)
您必须在签名中添加外部类:
environment->GetMethodID(resultClassAssistantUI, "<init>", "(L.../domain/AccountUI;J)V");