硬體抽象層 (HAL) 總覽

硬體抽象層 (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 以上版本。

後續步驟