架構概述

Android 開放系統平台 (AOSP)是公開可用且可修改的 Android 源代碼。任何人都可以為他們的設備下載和修改 AOSP。 AOSP 提供完整且功能齊全的 Android 移動平台實現。

實現 AOSP 的設備有兩個級別的兼容性:AOSP 兼容性和 Android 兼容性。 AOSP 兼容設備必須符合兼容性定義文檔 (CDD)中的要求列表。 Android 兼容設備必須符合 CDD 和供應商軟件要求 (VSR) 中的要求列表以及供應商測試套件 (VTS)兼容性測試套件 (CTS)中的測試。有關 Android 兼容性的更多信息,請參閱Android 兼容性程序

AOSP架構

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 概述
本機守護進程和庫

該層中的本地守護進程包括inithealthdlogdstoraged 。這些守護進程直接與內核或其他接口交互,不依賴於基於用戶空間的 HAL 實現。

該層中的本機庫包括libclibloglibutilslibbinderlibselinux 。這些本機庫直接與內核或其他接口交互,不依賴於基於用戶空間的 HAL 實現。

核心

內核是任何操作系統的核心部分,並與設備上的底層硬件進行對話。在可能的情況下,AOSP 內核被拆分為與硬件無關的模塊和特定於供應商的模塊。有關 AOSP 內核組件的描述(包括定義),請參閱內核概述

下一步是什麼?

  • 如果您是 AOSP 的新手,並且想開始開發,請參閱入門部分
  • 如果您想了解有關 AOSP 特定層的更多信息,請單擊左側導航中的部分名稱,然後從該部分的概述開始。