【发布时间】:2015-01-27 12:40:04
【问题描述】:
我有一个关于使用 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: 类中没有 name='' signature='(J)V' 的方法 lde/projects/customer/.../myProject/domain/AccountUI$ExtrasWageUI;
JNI 找不到该方法。 有谁知道如何访问内部类中的方法?
【问题讨论】:
-
更正。它确实找到了类。找不到方法。写JNI方法签名的时候,不要自己编。使用
javap -s的输出。从来没有错。
标签: java c++ java-native-interface inner-classes nosuchmethoderror