среда, 18 февраля 2015 г.

[TUTORIAL] Поиск недостающих lib (.so) при создании device tree Android



Небольшой TUTORIAL (по просьбам) по поиску недостающих lib (.so) при создании device tree Android.
Уже не первый раз сталкиваюсь с тем, что люди ищут недостающие shared lib наугад перебирая все подряд. На самом деле есть более-менее автоматический способ (продвинутые разработчики не нуждаются в данном мануале).

На скриншоте видно, что я одной командой вытянул из проприретарной либы hwcomposer.k3v2oem1.so все зависимости. Безусловно, не надо брать все полученные либы из стоковой прошивки и сразу радостно переносить на свою сборку. Вы просто увидите все зависимости.

Как реализовать:
В терминале Linux мы создаем свой исполняемый ldd-arm который и будет в дальнейшем вытягивать зависимости:
$ echo 'readelf -d $1 | grep "\(NEEDED\)" | sed -r "s/.*\[(.*)\]/\1/"' | sudo tee -a /usr/local/bin/ldd-arm

Выставляем права:
$ sudo chmod +x /usr/local/bin/ldd-arm

Готово! Можно пользоваться!
Вводим в терминале ldd-arm ТУТ_ПУТЬ_И_ИМЯ_ЛИБЫ

Надеюсь, мой TUTORIAL кому-то поможет. Я где-то видел подобные реализации на XDA, попробую еще найти, может там есть какой-то другой (лучший) способ.

3 комментария: