為配合主幹穩定開發模型,並確保生態系統的平台穩定性,我們將於 2026 年起,在第 2 季和第 4 季將原始碼發布至 AOSP。如要建構及貢獻 AOSP,建議使用 android-latest-release,而非 aosp-main。android-latest-release 資訊清單分支版本一律會參照推送至 AOSP 的最新版本。詳情請參閱「Android 開放原始碼計畫變更」一文。
硬體抽象層 (HAL) 總覽
透過集合功能整理內容
你可以依據偏好儲存及分類內容。
硬體抽象層 (HAL) 是一種抽象層,具有標準介面,供硬體供應商實作。硬體供應商可透過 HAL 實作裝置專屬的低階功能,不會影響或修改高階層的程式碼。
必要條款
以下列出本節文件中使用的術語定義:
- Android 介面定義語言 (AIDL)
- 類似 Java 的語言,用於定義介面,與使用的程式設計語言無關。AIDL 可讓 HAL 用戶端與 HAL 服務進行通訊。
- 繫結 HAL
- 使用繫結器處理序間通訊 (IPC) 呼叫與其他程序通訊的 HAL。繫結 HAL 會在與使用這些 HAL 的用戶端不同的程序中執行。Binderized HAL 會向服務管理員註冊,以便用戶端存取其功能。為 Android 8 以上版本編寫的 HAL 會經過繫結。
- HAL 用戶端
- 存取 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
在 Android 8 之前建立的 HAL 服務,但已封裝在 AIDL 或 HIDL 包裝函式中,可與 Android 8 以上版本搭配使用。
後續步驟
這個頁面中的內容和程式碼範例均受《內容授權》中的授權所規範。Java 與 OpenJDK 是 Oracle 和/或其關係企業的商標或註冊商標。
上次更新時間:2025-12-03 (世界標準時間)。
[[["容易理解","easyToUnderstand","thumb-up"],["確實解決了我的問題","solvedMyProblem","thumb-up"],["其他","otherUp","thumb-up"]],[["缺少我需要的資訊","missingTheInformationINeed","thumb-down"],["過於複雜/步驟過多","tooComplicatedTooManySteps","thumb-down"],["過時","outOfDate","thumb-down"],["翻譯問題","translationIssue","thumb-down"],["示例/程式碼問題","samplesCodeIssue","thumb-down"],["其他","otherDown","thumb-down"]],["上次更新時間:2025-12-03 (世界標準時間)。"],[],[]]