Android 開放系統平台 (AOSP)是公開可用且可修改的 Android 原始碼。任何人都可以為其設備下載和修改 AOSP。 AOSP 提供了 Android 行動平台的完整且功能齊全的實作。
實現 AOSP 的裝置有兩個等級的相容性:AOSP 相容性和 Android 相容性。 AOSP 相容設備必須符合相容性定義文件 (CDD)中的要求清單。 Android 相容裝置必須符合 CDD 和供應商軟體要求 (VSR) 中的要求清單以及供應商測試套件 (VTS)和相容性測試套件 (CTS)等測試。有關 Android 相容性的更多信息,請參閱Android 相容性計劃。
AOSP架構
AOSP 的軟體堆疊包含以下層:
圖 1. AOSP 軟體堆疊架構。
以下是圖 1 中使用的術語的定義清單:
- 安卓應用程式
- 僅使用 Android API 建立的應用程式。 Google Play 商店廣泛用於尋找和下載 Android 應用程序,但還有許多其他替代方案。在某些情況下,裝置製造商可能希望預先安裝 Android 應用程式以支援裝置的核心功能。如果您對開發 Android 應用程式感興趣,請參閱developers.android.com
- 特權應用程式
- 使用 Android 和系統 API 組合建立的應用程式。這些應用程式必須作為特權應用程式預先安裝在裝置上。
- 設備製造商應用程式
- 使用 Android API、系統 API 和直接存取 Android 框架實現的組合創建的應用程式。由於裝置製造商可能會直接存取Android框架內不穩定的API,因此這些應用程式必須預先安裝在裝置上,並且只有在裝置的系統軟體更新時才能更新。
- 系統介面
- 系統 API 代表僅可供合作夥伴和 OEM 包含在捆綁應用程式中的 Android API。這些API在原始碼中被標記為@SystemApi。
- 安卓API
- Android API 是供第三方 Android 應用程式開發人員公開使用的 API。有關 Android API 的信息,請參閱Android API 參考。
- 安卓框架
- 一組 Java 類別、介面和其他建置應用程式的預編譯程式碼。該框架的部分內容可透過使用 Android API 公開存取。該框架的其他部分僅可供 OEM 透過使用系統 API 來使用。 Android 框架程式碼在應用程式的進程內運行。
- 系統服務
- 系統服務是模組化的、集中的元件,例如
system_server
、 SurfaceFlinger 和 MediaService 。 Android框架API公開的功能與系統服務通訊以存取底層硬體。 - Android 運行時 (ART)
- AOSP提供的Java運作環境。 ART 將應用程式的字節碼轉換為由裝置執行時期環境執行的處理器特定指令。
- 硬體抽象層(HAL)
- HAL 是一個抽象層,具有供硬體供應商實現的標準介面。 HAL 允許 Android 不了解較低層級的驅動程式實作。使用 HAL 可讓您在不影響或修改更高等級系統的情況下實現功能。有關更多信息,請參閱HAL 概述。
- 本機守護程式和函式庫
此層中的本機守護程式包括
init
、healthd
、logd
和storaged
。這些守護程式直接與核心或其他介面交互,不依賴基於使用者空間的 HAL 實作。這一層的本機函式庫包括
libc
、liblog
、libutils
、libbinder
和libselinux
。這些本機庫直接與核心或其他介面交互,不依賴基於使用者空間的 HAL 實作。- 核心
核心是任何作業系統的核心部分,並與設備上的底層硬體進行通訊。在可能的情況下,AOSP 內核分為與硬體無關的模組和特定於供應商的模組。有關 AOSP 核心元件的描述(包括定義),請參閱核心概述。
下一步是什麼?
- 如果您是 AOSP 新手,並且想要開始開發,請參閱入門部分。
- 如果您想了解有關 AOSP 特定層的更多信息,請單擊左側導航中的部分名稱,然後從該部分的概述開始。