Библиотека представляет собой набор ресурсов, таких как подпрограммы / функции, классы, значения или спецификации типов.
Существует два типа библиотек:
Статические библиотеки: статические библиотеки для полных программ, которые не зависят от запуска внешних библиотек. Особенностью статически связанных программ является то, что они работают без установки каких-либо предварительных условий. Статическая библиотека заканчивается расширением * .a, и эти библиотеки включены (отдельная копия) в программы, для которых требуются ее функции.
Динамические библиотеки: динамические библиотеки для небольших программ по размеру. Эти библиотеки заканчиваются расширением .so. Еще одна особенность использования динамической компоновки при запуске многих программ. Она может использовать одну копию библиотеки, а не занимать память многими копиями одного и того же кода , Таким образом, последние программы используют динамическое связывание. В этой статье мы рассмотрим команды ldd, которые используются для управления разделяемыми библиотеками.
Комплексные инструменты OSINT. Сбор информации в сети
Общие библиотеки
Когда мы создаем программу, нам нужно много фрагментов кода, которые кто-то написал для выполнения обычных или специализированных функций в наших целях.
Эти фрагменты кода хранятся в разделяемых библиотеках.
Чтобы использовать их, мы связываем их с нашим кодом либо при создании программы, либо при запуске программы.
Синтаксис и параметры
Команда ldd выводит зависимости общих объектов. Синтаксис команды:
Как узнать, какие библиотеки использует мое приложение для Android?
Кажется, я не могу найти ответа на свой вопрос где-либо еще, так что, возможно, это не так просто, как я ожидал .
Есть ли способ узнать, какие библиотеки использует мое приложение для Android? Скорее всего, он использует виртуальную машину Delvik, но как мне узнать, использую ли я библиотеку Media Framework, или WebKit, или что-то еще в этом направлении?
Звучит как ненужный вопрос, но мне нужно написать статью о приложении, которое я разработал, и эта информация будет полезна.
Sarah 13 Апр 2013 в 23:44
2 ответа
Лучший ответ
Если вы используете внешние библиотеки, они будут включены в папку you / libs. Так вы будете знать, какие библиотеки вы включили.
Если вы включите proguard, инструмент удалит неиспользуемые классы, поля и методы. Инструмент ProGuard сжимает, оптимизирует и скрывает ваш код, удаляя неиспользуемый код и переименовывая классы, поля и методы с семантически непонятными именами. В результате получается файл .apk меньшего размера, который труднее реконструировать, поэтому используются не все классы в библиотеке. Эти неиспользуемые классы удаляются, если включен proguard.
В вашем приложении есть библиотека android.jar в качестве ссылочной библиотеки. Он не включен в файл .apk. Вы можете разархивировать .apk и посмотреть содержимое.
Эти классы android. * не являются частью вашего APK-файла, поэтому на них не влияет ProGuard. Настоящие классы уже находятся в вашем процессе во время выполнения, помещенные туда прошивкой. .
все нужные библиотеки Windows для работы программ и игр
Итак, вы можете перейти на свой AndroidSDK. Платформы Goto. Откройте папку, скажем, android-16 (для api версии 16). Вы увидите android.jar. Вы можете разархивировать файл jar и посмотреть файлы под ним.
Откройте папку Android, и вы получите базу данных, медиа, webkit и так далее.
Разработчики имеют полный доступ к тем же API-интерфейсам фреймворка, которые используются в основных приложениях.
Библиотеки, используемые программой
Иногда при запуске специфической программы, не оформленной в виде пакета, требуется узнать, какие библиотеки для нее потребуются. Это можно выяснить командой ldd, например:
Ну, а извращенцы с сайта www.commandlinefu.com/ добавили «пару ласковых», чтобы на экране появлялись только имена библиотек, без всяких лишних циферок:
ldd /bin/bash | awk ‘BEGIN$1~/^//$3~/^//’ | sed ‘s/,$/n/’
Очень полезный способ узнать зависимости бинарника
Сам часто им пользуюсь
В основном нужен при разборках с разным проприетарным софтом
Источник: mtaalamu.ru