Как обеспечить интерфейс RPC в системном сервисе Android? - PullRequest
0 голосов
/ 09 июля 2019

Я разрабатываю (нативный) сервисный процесс, исполняемый файл которого находится в системном разделе на Android 8.1 / 9.0.Давайте назовем процесс S. Предполагается, что S предоставляет службу RPC процессу V, исполняемый файл которого находится в разделе поставщика.Из архитектуры Android Treble я прочитал, что системные компоненты отделены от вендоров интерфейсами HIDL.Должен ли я использовать интерфейс обратного вызова в HIDL для удовлетворения моих потребностей, или я должен использовать некоторые другие механизмы, такие как AIDL?

1 Ответ

0 голосов
/ 24 июля 2019

Да, вам нужно использовать контекст Hardware Binder вместе с HIDL.

Справочная информация. Теперь существует три контекста Binder:

  1. Framework Binder (/dev/binder)
    Это для IPC только на стороне системы / платформы.В этом контексте Binder используется AIDL.
  2. Vendor Binder (/dev/vndbinder)
    Это только для IPC на стороне поставщика.В этом контексте Binder также используется AIDL.
  3. Hardware Binder (/dev/hwbinder)
    Этот контекст позволяет соединять сервисы со стороны поставщика с сервисами со стороны системы / инфраструктуры.Поскольку цель Trebles состоит в том, чтобы разделы системы и поставщика обновлялись по отдельности, AIDL уже не был достаточно безопасным.Таким образом, HIDL был введен и используется в этом контексте.
...