我遇到的问题是我的APK能够加载其/ data / data / app / lib文件夹中包含的.so文件,但链接器无法找到也位于该文件夹中的依赖项。错误是:
D/dalvikvm( 5541): Trying to load lib /data/data/app/lib/liba.so 0x41978aa8
W/dalvikvm( 5541): Exception Ljava/lang/UnsatisfiedLinkError; thrown while initializing Lapp;
...
E/AndroidRuntime( 5541): Caused by: java.lang.UnsatisfiedLinkError: Cannot load library: link_image[1891]: 1679 could
not load needed library 'libb.so' for 'liba.so' (load_library[1093]: Library 'libb.so' not found)
有趣的是,还有其他的依赖项,因为它们与android / system / lib一起提供,但我无法理解为什么它不会在/ data / data / app / lib文件夹中查找?
编辑:这与标记为重复的问题不同,因为它涉及运行时链接的操作,而不是如何将库导入Eclipse IDE。问题here和here中提到了按顺序显式加载依赖项的解决方法答案 0 :(得分:3)
正如fadden指出的那样,解决方案是首先显式加载依赖项,如:
System.loadLibrary("b"); System.loadLibrary("a");