架構總覽

Android 開放原始碼計畫 (AOSP) 是公開發布且可修改的 Android 原始碼。任何人都可以下載及修改裝置的 AOSP。AOSP 提供 Android 行動平台完整且功能齊全的實作方式。

實作 AOSP 的裝置有兩種相容性等級:AOSP 相容性和 Android 相容性。AOSP 相容裝置必須符合相容性定義說明文件 (CDD) 中的需求清單。與 Android 相容的裝置必須符合 CDD 和供應商軟體需求 (VSR) 中的需求清單,並通過供應商測試套件 (VTS) 和相容性測試套件 (CTS) 等測試。如要進一步瞭解 Android 相容性,請參閱 Android 相容性計畫

Android 開放原始碼計畫架構

AOSP 的軟體堆疊包含下列層:

AOSP 軟體堆疊架構。

圖 1. AOSP 軟體堆疊架構。

圖 1 中使用的字詞定義如下:

Android 應用程式
完全使用 Android API 建立的應用程式。Google Play 商店是尋找及下載 Android 應用程式的常用平台,但也有許多其他替代方案。在某些情況下,裝置製造商可能會預先安裝 Android 應用程式,以支援裝置的核心功能。如有意開發 Android 應用程式,請參閱 developers.android.com
特殊權限應用程式
使用 Android 和系統 API 組合建立的應用程式。這些應用程式必須預先安裝在裝置上,且具有特殊權限。
裝置製造商應用程式
應用程式是使用 Android API、系統 API 和直接存取 Android 架構實作項目所建立。由於裝置製造商可能會直接存取 Android 架構中的不穩定 API,因此這些應用程式必須預先安裝在裝置上,且只能在裝置的系統軟體更新時更新。
系統 API
系統 API 代表 Android API,僅供合作夥伴和原始設備製造商納入隨附應用程式。這些 API 在原始碼中標示為 @SystemApi。
Android API
Android API 是公開的 API,供第三方 Android 應用程式開發人員使用。如要瞭解 Android API,請參閱「Android API 參考資料」。
Android 架構
一組 Java 類別、介面和其他預先編譯的程式碼,用於建構應用程式。您可以使用 Android API 公開存取架構的部分內容。架構的其他部分只能透過系統 API 供 OEM 使用。Android 架構程式碼會在應用程式程序中執行。
系統服務
系統服務是模組化、專注的元件,例如 system_server、SurfaceFlinger 和 MediaService。Android 架構 API 公開的功能會與系統服務通訊,以存取基礎硬體。
Android 執行階段 (ART)
AOSP 提供的 Java 執行階段環境。ART 會將應用程式的位元碼轉譯為處理器專屬指令,並由裝置的執行階段環境執行。
硬體抽象層 (HAL)
HAL 是抽象層,提供標準介面供硬體供應商實作。HAL 可讓 Android 不瞭解低階驅動程式實作項目。使用 HAL 可讓您實作功能,而不影響或修改較高層級的系統。詳情請參閱 HAL 總覽
原生 Daemon 和程式庫

這個層級的原生精靈包括 inithealthdlogdstoraged。這些常駐程式會直接與核心或其他介面互動,且不依附於以使用者空間為基礎的 HAL 實作。

這個層級的原生程式庫包括 libclibloglibutilslibbinderlibselinux。這些原生程式庫會直接與核心或其他介面互動,且不依附於以使用者空間為基礎的 HAL 實作項目。

核心

核心是所有作業系統的中央部分,可與裝置上的基礎硬體通訊。在可行情況下,AOSP 核心會拆分為與硬體無關的模組和供應商專屬模組。如要瞭解 AOSP 核心元件的說明 (包括定義),請參閱「核心總覽」。

後續步驟

  • 如果您是 AOSP 新手,且想開始開發,請參閱「入門」一節。
  • 如要進一步瞭解特定 AOSP 層,請按一下左側導覽面板中的章節名稱,然後從該章節的總覽開始。