硬體抽象層 (HAL) 是一種抽象層, 供硬體供應商實作的標準介面。HAL 允許硬體 來導入低階裝置專屬功能,而不影響 在較高層中修改程式碼
必要條款
以下列出本節的 說明文件:
- Android 介面定義語言 (AIDL)
- 一種類似 Java 的語言,用來定義介面的方式,而且不受 所用的程式設計語言AIDL 可在 HAL 用戶端和 HAL 服務。
- 繫結式 HAL
- 與其他程序通訊的 HAL 使用 繫結器處理序間通訊 (IPC) 呼叫。繫結化 HAL 的執行程序與使用繫結的 HAL 不同, 繫結化 HAL 會向服務管理員註冊,方便客戶 存取其功能HAL 是專為 Android 8 以上版本所編寫 繫結起來。
- HAL 用戶端
- 存取 HAL 服務的程序。
- HAL 介面
- HAL 用戶端和服務之間使用的共同介面。
- HAL 服務
硬體專屬程式碼,例如 相機。您必須採用 相容性矩陣。 如要進一步瞭解相容性矩陣,請參閱 相容性矩陣。
您也可以建立新的 HAL 介面或將 HAL 介面延伸至 支援硬體獨特的功能
- 硬體介面定義語言 (HIDL)
這種語言定義介面的方式並非 所用的程式設計語言HIDL 能讓使用者在 HAL 用戶端和 HAL 服務
- 相同程序 (SP) HAL
一組經過包裝的 HAL。組合中的成員資格是由 Google。SP HAL 包括:
- 穩定版 C 對應工具 5 HAL
- OpenGL
- Vulkan
- android.hidl.memory@1.0 (由 Android 系統提供,一律包裝)
- android.hardware.renderscript@1.0
- 包裝 HAL
HAL 服務是在 Android 8 之前建立,但已納入 AIDL 或 HIDL 包裝函式,適用於 Android 8 以上版本。
後續步驟
- 如要瞭解如何實作 HAL 服務,請參閱 HAL 適用的 AIDL。
- 如要瞭解如何建立或擴充現有的 HAL,請參閱 到 連接的擴充介面。