Warstwa abstrakcji sprzętowej (HAL) to typ warstwy abstrakcji z tagiem za pomocą standardowego interfejsu dla dostawców sprzętu. HAL zezwala na korzystanie ze sprzętu którzy dostawcy wdrożyli funkcje niższego poziomu specyficzne dla danego urządzenia, bez wpływu i modyfikowanie kodu w warstwach wyższego poziomu.
Warunki wymagane
Poniżej znajduje się lista definicji terminów używanych w tej sekcji dokumentacja:
- Język definiowania interfejsu Androida (AIDL)
- Język podobny do Javy używany do definiowania interfejsów w sposób niezależny od w używanym języku programowania. AIDL umożliwia komunikację między klienci HAL i usługi HAL.
- Przypisany kod HAL
- HAL, która komunikuje się z innymi procesami za pomocą komunikacja między procesami binarnymi (IPC) połączeń. Powiązane poziomy HAL są uruchamiane w procesie innym niż klient, który ich używa. Powiązane wartości HAL są rejestrowane przez menedżera usługi, dzięki czemu klienci mogą na dostęp do ich funkcji. Listy HAL utworzone na Androida w wersji 8 i nowszych
- Klient HAL
- Proces uzyskujący dostęp do usługi HAL.
- Interfejs HAL
- Wspólny interfejs używany do komunikacji klienta i usługi HAL.
- Usługa HAL
Kod związany ze sprzętem, np. uruchamiający z aparatu w telefonie. Musisz wdrożyć wszystkie wymagane listy HAL wymienione w dla wersji docelowej na partycji dostawcy. Więcej informacji o tablicach zgodności znajdziesz na stronie Macierze zgodności.
Można również utworzyć nowy interfejs HAL lub rozszerzyć go, aby obsługiwać unikalne możliwości Twojego sprzętu.
- Język definiowania interfejsu sprzętowego (HIDL)
Język używany do definiowania interfejsów w sposób niezależny od języka programowania. HIDL umożliwia komunikację między klienci HAL i usługi HAL.
- HAL w ramach tego samego procesu (SP)
Ograniczony zestaw opakowanych HAL. Członkostwo w zestawie jest określane przez Google. Domen SP HAL należą:
- Stable C mapper 5 HAL
- OpenGL
- Wulkan
- android.hidl.memory@1.0 (dostarczany przez system Android, zawsze zapakowany)
- android.hardware.renderscript@1.0,
- Opakowany kod HAL
Usługa HAL utworzona przed Androidem 8, ale zawarta w Kod AIDL lub HIDL do współpracy z Androidem 8 i nowszym.
Co dalej?
- Aby dowiedzieć się, jak wdrożyć usługę HAL, zapoznaj się z dokumentacją AIDL dla kont HAL.
- Aby dowiedzieć się, jak utworzyć lub przedłużyć istniejącą listę HAL, zapoznaj się z artykułem do Dołączone rozszerzone interfejsy