Android 是一種作業系統,可支援各種板型規格的裝置。任何人都可以透過 Android 開放原始碼計畫 (AOSP) 取得 Android 說明文件和原始碼。您可以使用 AOSP,為自己的裝置建立自訂的 Android 作業系統變化版本。
AOSP 的設計目的是避免出現單一故障點,讓某個產業參與者限制或控制其他人的創新。因此,AOSP 是完整的開發人員產品,具有可供自訂和移植的原始碼,並符合實際工作環境的品質。
本節說明文件可協助新的 Android 開放原始碼計畫開發人員開始使用這個平台,並執行必要的開發工作。
必要條款
以下是「開始使用」說明文件中使用的詞彙和定義清單。請先詳閱每個定義,再繼續操作。
- Android 應用程式開發人員
Android 應用程式開發人員會編寫 Android 應用程式或在 Android 上執行的應用程式。應用程式開發人員分為兩類:第一方 (1p) 和第三方 (3p) 應用程式開發人員。
- Android 第一方應用程式開發人員
- 具備 AOSP 系統 API 存取權,且撰寫特權和裝置製造商應用程式的 Android 應用程式開發人員。
- Android 第三方應用程式開發人員
- Android 應用程式開發人員,僅使用 Android 的公開 SDK 建立 Android 應用程式。
如要為 Android 開發第三方應用程式,請參閱 developers.android.com
。本網站上的資訊僅供直接與 AOSP 合作的人員使用。
- Android Debug Bridge (ADB)
- 指令列工具 (
adb
),可讓工作站與虛擬、軟體模擬或實體裝置進行通訊。 - Android 相容裝置
- 可執行任何由第三方開發人員使用 Android SDK 和 NDK 編寫的第三方應用程式的裝置。與 Android 相容的裝置必須遵守相容性定義說明文件 (CDD) 的規定,並通過相容性測試套件 (CTS) 測試。支援 Android 的裝置可參與 Android 生態系統,包括 Android Play 商店的潛在授權、Google 行動服務 (GMS) 應用程式和 API 套件的潛在授權,以及 Android 商標的使用權。任何人都可以使用 Android 原始碼,但裝置必須與 Android 相容,才能算是 Android 生態系統的一部分。如要進一步瞭解相容性和 CTS,請參閱 Android 相容性計畫總覽
- 相容性定義文件 (CDD)
- 這份文件列出 Android 相容裝置的軟硬體需求。
- 貢獻者
對 Android 開放原始碼計畫原始碼做出貢獻的人。貢獻者可以是 Google 員工、其他公司的員工,以及與任何公司都沒有關聯的個人。所有 Android 開放原始碼計畫貢獻者都使用相同的工具、遵循相同的程式碼審查程序,並且也適用相同的程式設計樣式。您不必是貢獻者,也能使用 AOSP;您可以下載 AOSP,根據自己的需求進行修改,然後在裝置上部署,無須將程式碼提供給他人使用。
Google 接受的程式碼貢獻類型有限制。例如,您可能會想要提供替代的應用程式 API,例如完整的 C++ 環境。Google 會拒絕這項貢獻,因為 Android 鼓勵應用程式在 ART 執行階段執行。同樣地,Google 也不接受 GPL 或 LGPL 程式庫等與授權目標不相容的貢獻內容。
如果您有意提供原始碼,請先與 Google 聯絡,再開始著手。
- Compatibility Test Suite (CTS)
免費的商業級測試套件,可下載為 AOSP 中的二進位檔或來源。CTS 是一組單元測試,旨在整合至您的日常工作流程。CTS 的用意是揭露不相容性,並確保軟體在整個開發過程中保持相容性。
- 烏賊
可透過 Google Cloud Engine 等第三方雲端服務,以及 Linux x86 機器本機上的可設定虛擬 Android 裝置,以遠端方式執行。
- Developer
在 AOSP 的情況下,開發人員是指任何以任何方式與 AOSP 合作的人員。「開發人員」一詞泛指可能會閱讀這份文件的各種人員,例如原始設備製造商 (OEM)、手機製造商、電信業者和系統端系統 (SoC) 創作者。
- Google 行動服務 (GMS)
可在裝置上預先安裝的 Google 應用程式和 API 集合。
- Target
裝置的變化版本,例如特定型號或板型規格。舉例來說,
aosp_cf_x86_64_phone-userdebug
代表 x86 65MB 手機,提供偵錯資訊,專為在 Cuttlefish 模擬器上執行。
管理原理
Android 是由 Google 領軍的開放手持裝置聯盟 (OHA) 一群公司所創立。目前許多公司 (包括 OHA 原始成員和其他公司) 都已在 Android 上投入大量資金。這些公司已分配大量工程資源來改善 Android 並將 Android 裝置推向市場。
投資 Android 的企業之所以這麼做,是因為他們認為開放平台是必要的。Android 是刻意且明確的開放原始碼計畫 (而非免費軟體);一群有共同需求的機構已將資源集中起來,共同實作單一共用產品。首先,Android 的理念是務實的。目標是共用產品,每位內容提供者都可以調整及自訂。
當然,未經控管的客製化可能會導致不相容的實作方式。為避免相容性問題,Android 開放原始碼計畫 (AOSP) 會維護 Android 相容性計畫,說明「Android 相容性」的涵義,以及裝置建構工具需要符合哪些條件才能達到相容性。所有人都能基於任何目的使用 Android 原始碼,Google 歡迎所有合法用途。不過,如要參與 OHA 成員建構的 Android 應用程式共用生態系統,裝置建構工具必須加入 Android 相容性計畫。
Android 開放原始碼計畫由 Google 負責領導,負責維護及進一步開發 Android。雖然 Android 包含多個子專案,但 AOSP 嚴格來說是專案管理。Google 會將 Android 視為單一全方位軟體產品並加以管理,而非發布、規格或可替換零件的集合。Google 的意圖是讓裝置建構工具將 Android 移植至裝置,但不會實作規格或策劃發行作業。
後續步驟
如果您是 AOSP 新手,且想瞭解 AOSP 開發作業,請參閱 AOSP 教學課程。
如果您認為您的裝置需要與 Android 相容,請參閱 Android 相容性計畫。
如要瞭解 AOSP 的背景資訊 (包括 Google 在該平台的參與情形),請參閱 AOSP 常見問題。