我在OSX Yosemite上使用Eclipse Java和Eclipse C / C ++来创建一个简单的Java JNI应用程序。以下是我执行的步骤
javah
可执行文件创建了一个C头文件,并在Eclipse C / C ++中包含了头文件。在构建C代码时,会创建.so文件。%PATH%/Users/XXXX/Documents/JniWorkspace/JniExampleLibrary/Debug
以下是加载C库的Java代码:
public class JniExample {
static {
System.loadLibrary("JniExampleLibrary");
}
public native void callNativeMethod();
....
....
}
但我仍然收到如下所示的错误:
线程中的异常" main" java.lang.UnsatisfiedLinkError:java.library.path中没有JniExampleLibrary 在java.lang.ClassLoader.loadLibrary(ClassLoader.java:1878) 在java.lang.Runtime.loadLibrary0(Runtime.java:849) 在java.lang.System.loadLibrary(System.java:1087) at code.example.JniExample。(JniExample.java:5) 在code.example.Main.main(Main.java:8)