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。
- 安卓接口
- Android API 是供第三方 Android 應用程序開發人員公開使用的 API。有關 Android API 的信息,請參閱Android API 參考。
- 安卓框架
- 一組 Java 類、接口和其他構建應用程序的預編譯代碼。框架的某些部分可通過使用 Android API 公開訪問。框架的其他部分只能通過使用系統 API 提供給 OEM。 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 特定層的更多信息,請單擊左側導航中的部分名稱,然後從該部分的概述開始。