У меня возникла проблема, когда мой APK может загрузить файл .so, содержащийся в папке/data/data/app/lib, но компоновщик не может найти его зависимостей, также расположенных в этой папке. Ошибка: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)
Интересно есть другие зависимости, которые найдены, потому что они поставляются с Android в/системы/Lib, но я не могу понять, почему он не будет смотреть в/данных/данных/app/lib?
EDIT: Это отличается от вопроса, который отмечен как дублирующий, поскольку он касается операции связывания во время выполнения, а не с тем, как импортировать библиотеки в Eclipse IDE. Обходной путь от явной загрузки зависимостей для того, упомянута в вопросах here и here однако
ли это работать, если вы явно загрузите 'libb.so' первым? – fadden
Он делает: P Спасибо! Я ожидал, что он будет рассматривать этот путь как своего рода LD_LIBRARY_PATH и использовать некоторые умные решения для разрешения зависимостей. – chrisvarnz