2014-01-10 75 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

不一定能解決這個錯誤。 –

相關問題