无法加载libfoo:findLibrary返回null

Ily*_*lya 3 java-native-interface android android-ndk

我做了一切"正确":

  1. LOCAL_MODULE := libfoojni/Android.mk 创建了我的JNI模块

  2. System.loadlibrary("libfoo")

  3. 声明了方法的正确签名,甚至用它进行了双重检查 javah

但仍然有一个UnsatisfiedLinkError消息的例外:

无法加载libfoo:findLibrary返回null

Ily*_*lya 18

显然,loadLibrary方法会自动添加"lib",因此加载文件名(如"libfoo.so")的正确方法是调用System.loadLibrary("foo").

我很难学到这一点,所以你不必这么做.