[英]Can't obtain static method fromNative(Method, Object) from class com.sun.jna.Native
我正在使用JNA的com.sun.jna.NativeLibrary
类来加载VLCJ
本机库。 我正在使用基于armv8(aarch x64)-based linux device
。 下面是我的代码, 请注意我正在使用最新的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
快速搜索后,我发现必须将jar内的jna本机lib目录复制到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类中找到fromNative(Method,Object)中的方法,但是在反编译该类后,我发现该方法已经存在。
我没主意知道,任何帮助将不胜感激,谢谢!
解决方法:
快速搜索后,我发现必须将jar内的
jna
本机lib目录复制到jvm
lib路径...
jna
模块(罐子) jna.jar
jna-platform.jar
linux-aarch64.jar
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.