jni 在内部类中找不到方法,java.lang.NoSuchMethodError

jni doesn't find method in inner class , java.lang.NoSuchMethodError

本文关键字:java lang NoSuchMethodError 方法 找不到 内部类 jni      更新时间:2023-10-16

我有一个关于使用 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: class中没有name='' signature='(J)V' 的方法 Lde/projects/customer/.../myProject/domain/AccountUI$ExtrasWageUI;

JNI 找不到该方法。有没有人知道我如何在内部类中访问该方法?

您必须

在签名中添加外部类:

environment->GetMethodID(resultClassAssistantUI, "<init>", "(L.../domain/AccountUI;J)V");
相关文章: