AOSP架構

透過集合功能整理內容 你可以依據偏好儲存及分類內容。

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

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

AOSP架構

AOSP 的軟件堆棧包含以下層:

AOSP軟件棧架構
1.AOSP 軟件堆棧架構。
  • 安卓應用。僅使用 Android SDK 中的 Android API 創建的應用程序。 Google Play 商店廣泛用於查找和下載 Android 應用程序,但還有許多其他選擇。在某些情況下,設備製造商可能希望預裝 Android 應用程序以支持設備的核心功能。如果您對開發 Android 應用程序感興趣,請訪問developers.android.com
  • 特權應用程序。結合使用 Android 和系統 API 創建的應用程序。這些應用程序必須作為特權應用程序預安裝在設備上。
  • 設備製造應用程序。使用 Android API、系統 API 和直接訪問 Android 框架實現的組合創建的應用程序。由於設備廠商可能會直接訪問Android框架內不穩定的API,這些應用必須預裝在設備上,並且只有在設備的系統軟件更新時才能更新。
  • 安卓框架。一組 Java 類、接口和其他構建應用程序的預編譯代碼。該框架的某些部分可通過使用 Android SDK 的 Android API 公開訪問。該框架的其他部分只能通過使用 Android SDK 的系統 API 提供給 OEM。 Android 框架代碼在應用進程中運行。
  • 安卓開發工具包。一個軟件開發工具包,用於創建與 Android 框架交互的應用程序。 Android SDK 由適用於所有應用程序的 Android API 和僅適用於特權應用程序的系統 API 組成。有關 Android SDK 的 Android API 的更多信息,請訪問developers.android.com 。請注意,還有一個Android 原生開發工具包 (NDK) ,允許您使用原生代碼編寫部分 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 特定層的更多信息,請單擊左側導航中的層名稱,然後從該層的概述開始。