Классификация файлов В папке /system/bin (или просто /bin) содержатся исполняемые файлы, которые обеспечивают функционирование системы и приложений. Общее количество таких файлов (включая симлинки), которые можно увидеть в выводе команды ls, примерно 450. В представленном здесь справочнике по системным файлам сделана попытка их систематизации и классификации, а также выявления назначения и функций каждого отдельно взятого файла. В папке содержатся файлы двух типов:
Исполняемые бинарные файлы по функциональному назначению делятся на:
Текстовые файлы bash-скриптов можно условно разделить на:
Bash-cкрипты обычно имеют достаточно простую структуру и минимум (или полное отсутствие) параметров запуска (options). Имена некоторых файлов скриптов содержат расширение .sh, в других оно отсутствует. Скрипты запуска JAVA-приложений (.jar) обычно имеют большое количество параметров (options) для передачи их приложению через вызов команды app_process. Часть консольных команд, которые выполнить вызовом обращением к файлу на /system/bin, на самом деле являются симлинками на Toybox - командный файл с мультивызовами, который пришел на смену Busybox. При этом некоторые команды, хотя и включены в Toybox, в то же время представлены как самостоятельные файлы, т.е. продублированы. Кроме того, имеются консольные команды, которые выполняются только запуском своего файла, они отсутствуют в Toybox. Таким образом, все файлы консольных команд можно разделить на три группы:
При этом поведение команды 3-й группы и набор параметров в обоих вариантах её вызова могут отличаться. Практически все симлинки ведут на соответствующий файл в папке /bin (которая сама является симлинком на system/bin). Однако есть несколько симлинков на файлы в папке /apex:
Распределение файлов по категориям выглядит так:
В соответствии с приведенной выше классификацией составлена база данных, интерфейс которой позволяет выбирать имя файла по алфавитному указателю с учетом принадлежности его к той или иной категории. По каждому системному файлу приведена некоторая поясняющая информация: Примечания. Тестируемые платформы с Android 12 В качестве тестовых платформ, на которой функционирует Android 12, использовались устройства на основе SoC Allwinner H618, а именно: одноплатный ПК (SBC)OrangePi Zero3 и ТВ-бокс (приставка) Tanix TX68, имеющие очень похожую архитектуру и достаточно совпадающую элементную базу, поэтому программно совместимые между собой. Вывод консольной команды ls для устройств:Содержимое папки /bin для этих двух устройств практически идентично,
разница только в нескольких файлах, конкретные отличия приведены ниже. В OpiZero3 добавленны файлы: А также исключены файлы, имеющиеся в /bin Tanix: Примечание. О бинарнике qw в Linux/Android пока не удалось найти какой-либо информации. Возможные версии : |