У меня есть вопрос для получения доступа к методам во вложенных классах с 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 не найдет метод.
Кто-нибудь знает, как я могу получить доступ к методу во внутреннем классе?
Вы должны добавить внешний класс в подписи:
environment->GetMethodID(resultClassAssistantUI, "<init>", "(L.../domain/AccountUI;J)V");