我做了一切“正确”:
在jni / Android.mk中使用LOCAL_MODULE := libfoo
创建了我的JNI模块
名为System.loadlibrary("libfoo")
声明方法的正确签名,甚至用javah
但仍有UnsatisfiedLinkError
个例外,其中包含以下消息:
无法加载libfoo:findLibrary返回null
答案 0 :(得分:18)
显然 loadLibrary 方法会自动添加“lib”,因此加载文件名(如“libfoo.so”)的正确方法是调用System.loadLibrary("foo")
。
我很难学到这一点,所以你不必这么做。