lshal Список и отладка HIDL HAL Тип файла: команда lshal: List and debug HIDL HALs. (for AIDL HALs, see `dumpsys`) commands: list List HIDL HALs. debug Debug a specified HIDL HAL. help Print help message. wait Wait for HIDL HAL to start if it is not already started. If no command is specified, `list` is the default. list: lshal lshal list List all hals with default ordering and columns (`lshal list -Vliepc`) lshal list [-h|--help] Комментарии Уровень аппаратной абстракции HIDL - язык определения интерфейса HAL HIDL — язык описания интерфейса (IDL), определяющий интерфейс между HAL и его пользователями. HIDL позволяет указывать типы и вызовы методов, собранные в интерфейсы и пакеты. В более широком смысле HIDL — это система для связи между кодовыми базами, которые могут быть скомпилированы независимо друг от друга. Начиная с Android 10, HIDL устарел, и Android переходит на повсеместное использование AIDL HIDL предназначен для межпроцессного взаимодействия (IPC). HAL, созданные с помощью HDL, называются Binderized HAL, поскольку они могут взаимодействовать с другими уровнями архитектуры с помощью вызовов межпроцессного взаимодействия (IPC). Binderized HAL запускаются в отдельном процессе от клиента, который их использует. Для библиотек, которые должны быть связаны с процессом, также доступен сквозной режим не поддерживается в Java). HIDL определяет структуры данных и сигнатуры методов, организованные в интерфейсы (аналогично классу), которые собираются в пакеты. Синтаксис HIDL выглядит знакомым программистам на C++ и Java, но с другим набором ключевых слов. HIDL также использует аннотации в стиле Java Терминология binderized Указывает, что HIDL используется для удаленных вызовов процедур между процессами, реализованными с помощью механизма, подобного Binder. См. также прохождение . callback, asynchronous Интерфейс, обслуживаемый пользователем HAL, передаваемый в HAL (с использованием метода HIDL) и вызываемый HAL для возврата данных в любое время. callback, synchronous Возвращает данные из реализации метода HIDL сервера клиенту. Не используется для методов, возвращающих void или одно примитивное значение. client Процесс, вызывающий методы определенного интерфейса. Процесс платформы HAL или Android может быть клиентом одного интерфейса и сервером другого. См. также прохождение . extends Указывает интерфейс, который добавляет методы и/или типы к другому интерфейсу. Интерфейс может расширять только один другой интерфейс. Может использоваться для дополнительного приращения версии в пакете с тем же именем или для нового пакета (например, расширения поставщика) для создания более старого пакета. generates Указывает метод интерфейса, возвращающий значения клиенту. Чтобы вернуть одно не примитивное значение или более одного значения, генерируется синхронная функция обратного вызова. interface Коллекция методов и типов. Переведен в класс на C++ или Java. Все методы в интерфейсе вызываются в одном направлении: клиентский процесс вызывает методы, реализованные серверным процессом. oneway При применении к методу HIDL указывает, что метод не возвращает значений и не блокируется. package Коллекция интерфейсов и типов данных, разделяющих версию. passthrough Режим dlopen , в котором сервер является разделяемой библиотекой, открытой клиентом. В сквозном режиме клиент и сервер — это один и тот же процесс, но разные кодовые базы. Используется только для переноса устаревших кодовых баз в модель HIDL. См. также Связанный . server Процесс, реализующий методы интерфейса. См. также прохождение . transport Инфраструктура HIDL, которая перемещает данные между сервером и клиентом. version Версия пакета. Состоит из двух целых чисел, старшего и младшего. Второстепенные приращения версии могут добавлять (но не изменять) типы и методы. |