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");