Android 開放原始碼計畫 (AOSP) 為公開項目且可修改 Android 原始碼。任何人都能為自己的裝置下載及修改 Android 開放原始碼計畫。Android 開放原始碼計畫 提供了完整且功能完整的 Android 行動實作 平台。
實作 Android 開放原始碼計畫的裝置有兩種相容性層級:Android 開放原始碼計畫 相容性和 Android 相容性與 Android 開放原始碼計畫相容的裝置必須 必須符合 相容性定義說明文件 (CDD)。一個 Android 相容裝置必須遵循 CDD 中的需求條件清單 及供應商軟體要求 (VSR) 以及測試,例如 供應商測試套件 (VTS) 和 Compatibility Test Suite (CTS)。如需更多 如要瞭解 Android 相容性的相關資訊,請參閱 Android 相容性計畫。
Android 開放原始碼計畫架構
Android 開放原始碼計畫的軟體堆疊包含下列層:
圖 1. AOSP 軟體堆疊架構。
以下是圖 1 所用詞彙的定義清單:
- Android 應用程式
- 僅使用 Android API 建立的應用程式。Google 敬上 使用者廣泛使用 Play 商店尋找及下載 Android 應用程式, 來解決問題在某些情況下,裝置製造商可能需要 預先安裝 Android 應用程式,以支援裝置的核心功能。如果 如果您有興趣開發 Android 應用程式,請參考 developers.android.com。
- 具有特殊權限的應用程式
- 使用 Android 和系統 API 組合建立的應用程式。這些應用程式 必須在裝置上以具有特殊權限的應用程式的形式預先安裝。
- 裝置製造商應用程式
- 應用程式將 Android API、系統 API 和 才能使用 Android 架構實作這是因為裝置製造商 可能會直接存取 Android 架構中不穩定的 API, 必須預先安裝在裝置上,且只能在裝置的 更新系統軟體
- 系統 API
- System API 代表只有合作夥伴和 要納入隨附應用程式的原始設備製造商 (OEM)。這些 API 會標示為 @SystemApi 。
- Android API
- Android API 是第三方 Android 應用程式可用的公開 API 開發人員。如要進一步瞭解 Android API,請參閱 Android API 參考資料。
- Android 架構
- 一組 Java 類別、介面和其他預先編譯程式碼, 建構應用程式架構中的部分可藉由透過 Android API 的使用方式架構的其他部分 只能透過系統 API 提供給原始設備製造商 (OEM) 使用。Android 版 架構程式碼是在應用程式的程序中運作。
- 系統服務
- 系統服務是模組化的模組化元件,例如
system_server
、 SurfaceFlinger 和 MediaServiceAndroid 架構 API 公開的功能 與系統服務通訊,存取基礎硬體。 - Android 執行階段 (ART)
- Android 開放原始碼計畫提供的 Java 執行階段環境。ART 會執行 將應用程式的位元碼轉譯為處理器專屬指示 會由裝置的執行階段環境執行。
- 硬體抽象層 (HAL)
- HAL 是一種抽象層,具有硬體供應商的標準介面 以便實作。HAL 可讓 Android 比較低階驅動程式 。使用 HAL 可讓您實作功能,而 並影響或修改該級別的系統詳情請參閱 請參閱 HAL 總覽。
- 原生 Daemon 和程式庫
這個圖層中的原生 Daemon 包括
init
、healthd
、logd
和storaged
。這些 Daemon 直接與核心或其他介面互動 也不必依賴以使用者空間為基礎的 HAL 實作這個圖層中的原生程式庫包括
libc
、liblog
、libutils
。libbinder
和libselinux
。這些原生程式庫會直接與 不依賴以使用者空間為基礎的 HAL 。- 核心
核心是所有作業系統中樞,並與 安裝在裝置上並盡可能將 Android 開放原始碼計畫核心分割成 轉換為各硬體通用的模組和特定廠商專屬模組如需說明 包括 Android 開放原始碼計畫核心元件的定義,請參閱 核心總覽。
後續步驟
- 如果您是 Android 開放原始碼計畫新手,且想要開始開發,請參閱 「開始使用」部分。
- 如要進一步瞭解特定的 Android 開放原始碼計畫層,請按一下 ,從該部分的總覽開始。