2014-01-10 44 views
1

我遇到问题,我的APK能够加载其/ data/data/app/lib文件夹中包含的.so文件,但链接程序无法找到它依赖关系也位于该文件夹中。错误是:java.lang.UnsatisfiedLinkError:无法加载库

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) 

有趣的是还有那些被发现,因为它们是随在/系统/ lib目录Android其它的依赖关系,但我想不通为什么它不会在/数据/数据看/ app/lib文件夹?

编辑:这是不同的问题,这标记为重复,因为它涉及在运行时链接的操作,而不是如何将库导入到Eclipse IDE。明确加载的依赖,才能解决办法是,问题herehere提到然而

+2

它如果你首先明确加载'libb.so',你会工作吗? – fadden

+0

它的确如此:P谢谢!我期待它将该路径视为一种LD_LIBRARY_PATH,并使用一些智能来解决依赖关系。 – chrisvarnz

回答

3

正如法登指出上述情况,解决方案是第一个明确地加载的依赖,如:

System.loadLibrary("b"); System.loadLibrary("a");

+0

不一定能解决这个错误。 –

相关问题