綁定式 HAL勇蝙。以 HAL 接口定義語言 (HIDL) 或 Android 接口定義語言 (AIDL) 表示的 HAL仓坞。這些 HAL 取代了早期 Android 版本中使用的傳統(tǒng) HAL 和舊版 HAL策菜。在綁定式 HAL 中,Android 框架和 HAL 之間通過 Binder 進程間通信 (IPC) 調用進行通信。所有在推出時即搭載了 Android 8.0 或后續(xù)版本的設備都必須只支持綁定式 HAL尖淘。
直通式 HAL惫叛。以 HIDL 封裝的傳統(tǒng) HAL 或舊版 HAL倡勇。這些 HAL 封裝了現有的 HAL,可在綁定模式和 Same-Process(直通)模式下使用嘉涌。升級到 Android 8.0 的設備可以使用直通式 HAL妻熊。
綁定式 HAL
Android 要求所有 Android 設備(無論是搭載 Android O 的設備還是升級到 Android O 的設備)上的下列 HAL 均為綁定式:
android.hardware.biometrics.fingerprint@2.1。取代 Android 8.0 中已不存在的?fingerprintd仑最。
android.hardware.configstore@1.0固耘。Android 8.0 中的新 HAL。
android.hardware.dumpstate@1.0词身。此 HAL 提供的原始接口可能無法繼續(xù)使用厅目,并且已更改。因此法严,dumpstate_board?必須在指定的設備上重新實現(這是一個可選的 HAL)损敷。
android.hardware.graphics.allocator@2.0。在 Android 8.0 中深啤,此 HAL 必須為綁定式拗馒,因此無需在可信進程和不可信進程之間分享文件描述符。
android.hardware.radio@1.0溯街。取代由存活于自身進程中的?rild?提供的接口诱桂。
android.hardware.usb@1.0。Android 8.0 中的新 HAL呈昔。
android.hardware.wifi@1.0挥等。Android 8.0 中的新 HAL,可取代此前加載到?system_server?中的舊版 WLAN HAL 庫堤尾。
android.hardware.wifi.supplicant@1.0肝劲。在現有?wpa_supplicant?進程之上的 HIDL 接口。
注意:Android 提供的以下 HIDL 接口將一律在綁定模式下使用:android.frameworks.*郭宝、android.system.*?和?android.hidl.*(不包括下文所述的?android.hidl.memory@1.0)辞槐。
直通式 HAL
Android 要求所有 Android 設備(無論是搭載 Android O 的設備還是升級到 Android O 的設備)上的下列 HAL 均在直通模式下使用:
android.hardware.graphics.mapper@1.0。將內存映射到其所屬的進程中粘室。
android.hardware.renderscript@1.0榄檬。在同一進程中傳遞項(等同于?openGL)。
上方未列出的所有 HAL 在搭載 Android O 的設備上都必須為綁定式衔统。