NullByte
@NullByte
Bad gateway

Как определить нужное расположение файлов библиотек в программе?

Есть значит программа, написанная на C++ которая была импортирована одним разработчиком с Линукса на Андроид с добавлением своего GUI. Я скачал APK, смог вытащить сами бинарники скомпилированные под arm.v7 и библиотеки (.so), которые нужны для его работы. Решил поставить все это без приложения (т.е. без GUI) - закинул в систему и исполняемый файл, и библиотеки (телефон рутован). Закинул по разным папкам - lib и bin, вот только при запуске из командной строки, программа все равно не видит их, выдает ошибку, что библиотеки не найдены. Видимо не туда запихал. Хотел проверить через ldd, откуда программа их просит, да вот на Андроиде ldd нету. На самом компе проверил через readelf -d - там отображается какие библиотеки нужны, а вот куда в ФС их ставить - нет.
Я пытался пропихнуть их в /system/lib, но раздел защищен от записи, да и не думаю что при установке APK они бы туда ставились. Вместе тоже закидывал - не работает.
Еще я пытался найти куда ставит их само приложение, но запускаться оно отказывается, нажать кнопку "Install" которая вызывает устанавку всего этого, не представляется возможным.
Собственно вопрос: Как еще можно узнать куда надо положить эти гребаные библиотеки?
  • Вопрос задан
  • 301 просмотр
Решения вопроса 1
NullByte
@NullByte Автор вопроса
Bad gateway
Проблема решилась довольно просто: надо было все-таки с правами root перемонтировать /system для записи, и закинуть в ее подпапку /lib эти самые библиотеки. Также мне помогла утилита ndk-depends, с опцией --print-paths, прогнал на компе через нее сам бинарник и понял откуда она ищет все библиотеки.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы