Android 開放原始碼計畫總覽

Android 是適用於各種板型規格裝置的作業系統。任何人都可以成為 Android 開放原始碼計畫 (AOSP),以查看 Android 的說明文件和原始碼。您可以使用 Android 開放原始碼計畫,為自己的裝置建立 Android 作業系統的自訂變化版本。

Android 開放原始碼計畫經過精心設計,因此不會發生中央故障點,單一產業的玩家會限製或控制其他公司的創新技術。因此,AOSP 是一套完整正式版的開發人員產品,其原始碼開放自訂及移植。

本節說明文件可協助新的 Android 開放原始碼計畫開發人員開始使用這個平台,並執行必要的開發工作。

必要條款

以下是這份新手說明文件中使用的詞彙和定義清單。在繼續進行後續步驟前,請先研究每個定義。

Android 應用程式開發人員

Android 應用程式開發人員會編寫在 Android 上執行的 Android 應用程式或應用程式。應用程式開發人員有兩種分類:第一方 (1p) 和第三方 (第三方) 應用程式開發人員。

Android 第一方應用程式開發人員
具有 Android 開放原始碼計畫系統 API 存取權,並寫入特殊權限和裝置製造商應用程式的 Android 應用程式開發人員。
Android 第三方應用程式開發人員
僅使用 Android 公開 SDK 建立 Android 應用程式的 Android 應用程式開發人員。

如要開發適用於 Android 的第三方應用程式,請參閱 developers.android.com。本網站資訊僅適用於直接與 Android 開放原始碼計畫合作的人員。

Android 偵錯橋接器 (ADB)
指令列工具 (adb),可讓工作站與虛擬、軟體模擬或實體裝置通訊。
與 Android 相容的裝置
這類裝置可執行第三方開發人員使用 Android SDK 和 NDK 編寫的任何第三方應用程式。與 Android 相容的裝置必須遵循相容性定義說明文件 (CDD) 的要求,並通過 Compatibility Test Suite (CTS)。與 Android 相容的裝置可以參與 Android 生態系統的參與,包括潛在的 Android Play 商店授權、可能需要授權才能確保 Google 行動服務 (GMS) 套件應用程式和 API,以及使用 Android 商標。任何人都可以使用 Android 原始碼,但裝置必須與 Android 相容,才能視為 Android 生態系統的一環。如要進一步瞭解相容性和 CTS,請參閱 Android 相容性計畫總覽
相容性定義說明文件 (CDD)
文件:列舉 Android 相容裝置軟硬體需求。
協作者

對 Android 開放原始碼計畫原始碼做出貢獻的人員。貢獻者可以是 Google 的員工、其他公司的員工,或沒有公司聯盟關係的個人。所有 Android 開放原始碼計畫貢獻者都使用相同的工具、遵循相同的程式碼審查程序,並且也適用相同的程式設計樣式。即使您不是 Android 開放原始碼計畫的貢獻者,也能下載 Android 開放原始碼計畫、根據自身需求進行修改,或是在裝置上部署 Android 開放原始碼計畫,而無須提供程式碼給他人使用。

Google 接受的程式碼類型設有限制,例如,您可能會想要提供替代的應用程式 API,例如完整的 C++ 環境。Android 會建議應用程式在 ART 執行階段中執行,因此 Google 會拒絕這項貢獻。同樣地,Google 不接受與授權目標不相容的 GPL 或 LGPL 程式庫等貢獻內容。

如果您有意提供原始碼,請在開始工作之前與 Google 聯絡

Compatibility Test Suite (CTS)

免費的商業等級測試套件,能以二進位檔形式下載,或在 Android 開放原始碼計畫中以來源形式提供。CTS 是一組單元測試,旨在整合至您的每日工作流程。CTS 的用意是找出不相容的部分,並確保軟體在整個開發過程中維持相容。

墨魚

可透過 Google Cloud Engine 等第三方雲端服務,以及 Linux x86 機器本機上的可設定虛擬 Android 裝置,以遠端方式執行。

Developer

在 Android 開放原始碼計畫的環境中,開發人員是指以任何方式處理 Android 開放原始碼計畫的任何人員。「開發人員」一詞泛指可能會閱讀這份文件的各種人員,例如原始設備製造商 (OEM)、手機製造商、電信業者和系統端系統 (SoC) 創作者。

Google 行動服務 (GMS)

在裝置上預先安裝的一系列 Google 應用程式和 API。

Target

裝置的排列方式,例如特定型號或板型規格。舉例來說,aosp_cf_x86_64_phone-userdebug 代表 x86 65MB 手機,提供偵錯資訊,專為在 Cuttlefish 模擬器上執行。

管理原理

由 Google 主導的 Android 集團,稱為開放手機聯盟 (OHA) 的公司。如今,許多 OHA 和其他公司的原始成員都對 Android 投入大量心力。這些公司分配了大量的工程資源來改善 Android,並讓 Android 裝置上市。

投資 Android 的公司之所以這麼做,是因為他們相信開放式平台的必要性。Android 是刻意採取的開放原始碼措施 (相對於免費軟體);一群擁有共同需求的機構已擁有匯集資源,來共同開發共用產品的單一實作項目。首先,Android 的理念是務實。目標是是每位貢獻者可自訂及自訂的共用產品。

當然,無法控制的自訂做法可能會導致不相容的導入作業。為避免不相容,Android 開放原始碼計畫 (AOSP) 會維護 Android 相容性計畫,說明其意義為何,以及裝置建構工具必須滿足哪些條件才能達到該狀態。所有人都能基於任何目的使用 Android 原始碼,Google 歡迎所有合法用途。不過,如要參與 OHA 成員建構的 Android 應用程式共用生態系統,裝置建構工具必須加入 Android 相容性計畫。

Android 開放原始碼計畫是由 Google 主導,Google 負責維護及進一步開發 Android。雖然 Android 包含多個子專案,但 Android 開放原始碼計畫並不是專案管理。Google 會將 Android 視為單一全方位軟體產品並加以管理,而非發布、規格或可替換零件的集合。Google 的意圖是裝置建構工具將 Android 移植到裝置,但並未實作規格或收錄發行計畫。

後續步驟