Чудя се защо се изисква HAL?. Нов съм във вътрешните устройства на Android.
По-долу е моето разбиране.
Стъпка 1:
Услугата за Android взаимодейства с .cpp файла чрез JNI. Услугите разкриват Binder Interface за Application Layer.
Стъпка 2:
cpp файлът използва libhardware [ hw_get_module() ] за зареждане на HAL модула. [т.е.: dlopen].
Стъпка 3: [HAL модул]
Модулът HAL взаимодейства директно с хардуерния драйвер.
ЗАБЕЛЕЖКА: Поправете ме, ако греша?
Можех да разбера хода на процеса. но защо е необходим HAL модул между тях?.
Какви са другите предимства от динамичното зареждане на HAL?