Java Can';t从com.sun.jna.Native类获取本机的静态方法(方法,对象)

Java Can';t从com.sun.jna.Native类获取本机的静态方法(方法,对象),java,java-8,java-native-interface,vlc,jna,Java,Java 8,Java Native Interface,Vlc,Jna,我正在使用JNA的com.sun.JNA.nativellibrary类来加载VLCJ本机库。我正在开发基于armv8(aarchx64)的linux设备。下面是我的代码,请注意,我使用的是最新的JNA版本JNA-4.5.2: NativeLibrary.addSearchPath(RuntimeUtil.getLibVlcLibraryName(), Constants.DEPLIB_OUTPUT_DIRECTORY); Native.loadLibrary(RuntimeUtil.getLi

我正在使用JNA
com.sun.JNA.nativellibrary
类来加载
VLCJ
本机库。我正在开发基于armv8(aarchx64)的linux设备。下面是我的代码,请注意,我使用的是最新的JNA版本
JNA-4.5.2

NativeLibrary.addSearchPath(RuntimeUtil.getLibVlcLibraryName(), Constants.DEPLIB_OUTPUT_DIRECTORY);
Native.loadLibrary(RuntimeUtil.getLibVlcLibraryName(), LibVlc.class);
LibXUtil.initialise();
首先我遇到了这个错误:

java.lang.UnsatisfiedLinkError: JNA native support (com/sun/jna/linux-aarch64/libjnidispatch.so) not found in resource path
快速搜索后,我发现我必须将jna本机lib目录从jar内部复制到jvm lib路径中,其中jna jar库为几乎所有已知系统预构建了库,如下图所示:

之后,上述异常消失,但出现了另一个异常:

java.lang.UnsatisfiedLinkError: Can't obtain static method fromNative(Method, Object) from class com.sun.jna.Native
异常是在类com.sun.jna.Native中找不到来自本机(方法,对象)的方法,但是在反编译该类后,我发现该方法已经存在

我没有主意了,知道吗,任何帮助都将受到高度赞赏,谢谢

通过以下方式求解:

  • 撤消此步骤:
  • 快速搜索之后,我发现我必须复制
    jna
    本机库 目录从jar内部进入
    jvm
    lib路径

  • 从我的项目中删除所有
    jna
    模块(jar)
  • 下载以下JAR并将其链接到我的项目中: