当使用 JNI 从 Java 程序访问本机代码时,您会遇到许多问题。您会遇到的三个最常见的错误是:
1.无法找到动态链接。它所产生的错误消息是:java.lang.UnsatisfiedLinkError。这通常指无法找到共享库,或者无法找到共享库内特定的本机方法。
2.无法找到共享库文件。当用 System.loadLibrary(String libname) 方法(参数是文件名)装入库文件时,请确保文件名拼写正确以及没有指定扩展名。还有,确保库文件的位置在类路径中,从而确保 JVM 可以访问该库文件。
3.无法找到具有指定说明的方法。确保您的 C/C++ 函数实现拥有与头文件中的函数说明相同的说明。
出自:http://www.ibm.com/developerworks/cn/education/java/j-jni/section2.html
相关推荐
之前tomcat启动老是报错,虽然不影响项目的启动运行,但是有强迫症的程序员会心里不爽: 如下: 问题分析 由于本机安装的jdk版本与tomcat中使用的jdk版本不一致导致的。 解决方法 后面我把原先tomcat启动环境用的...
最近我们发现很多用户...java.lang.UnsatisfiedLinkError: couldn't find libarcsoft_face_engine.so 原因: 在安装应用时,APK中指定的ABI目录下没有发现指定的动态库,寻找apk中动态库的规则详见 https://developer
Window系统无法调用OpenCV代码报错:java.lang.UnsatisfiedLinkError: Directory separator should not appear in library name: C:\Windows\System32\opencv_java343.dll。出现该问题主要是安装的Windows系统缺乏...
"Nacos启动异常"是一个常见的问题,这里出现的具体异常是`java.lang.UnsatisfiedLinkError`,它通常发生在试图加载本地(C/C++)库时找不到相应的库文件。在给出的描述中,异常信息指出"librocksdbjni91"未能被正确...
例如,经常遇到的错误为 `java.lang.UnsatisfiedLinkError: no testjni1 in java.library.path`。 **原因分析**: 这类错误通常发生在试图加载一个不存在于 Java 库路径 (`java.library.path`) 中的本地库时。这...
这些错误通常表现为`java.lang.UnsatisfiedLinkError`,提示找不到相应的函数或方法。解决这类问题的方法通常是: 1. 确保下载了适用于Windows的Hadoop二进制发行版,其中应包含`winutils.exe`和`libwinutils.lib`...