Android 原始碼位於託管於 Google。Git 存放區包含 Android 原始碼的完整歷史記錄 包括來源變更及變更時間這個頁面 ,瞭解如何下載原始碼。
初始化存放區用戶端
設定用戶端以存取 Android 原始碼存放區:
建立並前往工作目錄:
mkdir WORKING_DIRECTORY
cd WORKING_DIRECTORY
初始化來源控管的工作目錄:
repo init --partial-clone -b main -u https://android.googlesource.com/platform/manifest
-b
選項用於識別您要初始化的分支版本。如果 -b 未提供時,repo init
會預設為主要分支版本。如需分支和標記名稱清單,請參閱「程式碼標記和版本」。必須使用
-u
選項,才能指定 資訊清單檔案,這是一個 XML 檔案,可指定 Android 來源中各個 Git 專案在工作目錄中的放置位置。在這個範例中,系統未指定資訊清單檔案名稱,因此指令會使用預設的資訊清單檔案 (default.xml
)。輸出內容應包含下列訊息:
repo has been initialized in path_to_working_directory
如需瞭解資訊清單檔案格式,請參閱「repo 資訊清單格式」。
如需所有存放區指令的清單,請參閱 Repo 指令參考資料。
下載 Android 原始碼
執行下列指令,將 Android 來源樹狀結構下載至工作目錄:
$ repo sync -c -j8
-c
引數會指示 Repo 從伺服器擷取目前的資訊清單分支。-j8
指令會將同步作業分割至多個執行緒,以加快作業速度
完成。
這項作業應該會在一小時內完成。
如果您在下載過程中遇到任何問題,請參閱 疑難排解並修正同步處理問題。
下載專屬二進位檔
Android 開放原始碼計畫可以直接在 Cuttlefish 模擬器上執行,但無法在沒有其他裝置專屬程式庫的硬體上使用 Android 開放原始碼計畫。以下說明如何取得裝置二進位檔:
- 如要下載 Nexus 或 Pixel 的
main
分支版本和建構應用程式, 請從以下程式中下載最新的二進位檔: 二進位檔預覽網站。 - 如果要下載和建構
main
分支版本 您必須提供裝置專屬的二進位檔。 - 如果您要下載及建構標記為非主要分支的版本,並為 Nexus 或 Pixel 裝置建構版本,請從 Nexus 和 Pixel 裝置的二進位檔下載裝置專屬二進位檔。
擷取專屬二進位檔
每組二進位檔都提供一個壓縮檔的自我解壓縮指令碼 封存。擷取這些二進位檔,並放在 來源樹狀結構:
- 將封存檔解壓縮。
- 從 AOSP 原始碼樹狀結構的根目錄執行隨附的自動解壓縮殼層指令碼。
- 同意所附授權協議的條款。二進位檔和相符的 Makefile 會安裝在來源樹狀結構的
vendor/
階層中。
(選用) 驗證代碼合法性
如果您擔心來源程式碼是否合法 (例如是否來自 Google),可以驗證分支的 Git 標記。如要驗證 Git 標記,請按照下列步驟操作:
複製下列鍵區塊並貼到文字檔中,例如
keyfile.asc
。-----BEGIN PGP PUBLIC KEY BLOCK----- Version: GnuPG v1.4.2.2 (GNU/Linux) mQGiBEnnWD4RBACt9/h4v9xnnGDou13y3dvOx6/t43LPPIxeJ8eX9WB+8LLuROSV lFhpHawsVAcFlmi7f7jdSRF+OvtZL9ShPKdLfwBJMNkU66/TZmPewS4m782ndtw7 8tR1cXb197Ob8kOfQB3A9yk2XZ4ei4ZC3i6wVdqHLRxABdncwu5hOF9KXwCgkxMD u4PVgChaAJzTYJ1EG+UYBIUEAJmfearb0qRAN7dEoff0FeXsEaUA6U90sEoVks0Z wNj96SA8BL+a1OoEUUfpMhiHyLuQSftxisJxTh+2QclzDviDyaTrkANjdYY7p2cq /HMdOY7LJlHaqtXmZxXjjtw5Uc2QG8UY8aziU3IE9nTjSwCXeJnuyvoizl9/I1S5 jU5SA/9WwIps4SC84ielIXiGWEqq6i6/sk4I9q1YemZF2XVVKnmI1F4iCMtNKsR4 MGSa1gA8s4iQbsKNWPgp7M3a51JCVCu6l/8zTpA+uUGapw4tWCp4o0dpIvDPBEa9 b/aF/ygcR8mh5hgUfpF9IpXdknOsbKCvM9lSSfRciETykZc4wrRCVGhlIEFuZHJv aWQgT3BlbiBTb3VyY2UgUHJvamVjdCA8aW5pdGlhbC1jb250cmlidXRpb25AYW5k cm9pZC5jb20+iGAEExECACAFAknnWD4CGwMGCwkIBwMCBBUCCAMEFgIDAQIeAQIX gAAKCRDorT+BmrEOeNr+AJ42Xy6tEW7r3KzrJxnRX8mij9z8tgCdFfQYiHpYngkI 2t09Ed+9Bm4gmEO5Ag0ESedYRBAIAKVW1JcMBWvV/0Bo9WiByJ9WJ5swMN36/vAl QN4mWRhfzDOk/Rosdb0csAO/l8Kz0gKQPOfObtyYjvI8JMC3rmi+LIvSUT9806Up hisyEmmHv6U8gUb/xHLIanXGxwhYzjgeuAXVCsv+EvoPIHbY4L/KvP5x+oCJIDbk C2b1TvVk9PryzmE4BPIQL/NtgR1oLWm/uWR9zRUFtBnE411aMAN3qnAHBBMZzKMX LWBGWE0znfRrnczI5p49i2YZJAjyX1P2WzmScK49CV82dzLo71MnrF6fj+Udtb5+ OgTg7Cow+8PRaTkJEW5Y2JIZpnRUq0CYxAmHYX79EMKHDSThf/8AAwUIAJPWsB/M pK+KMs/s3r6nJrnYLTfdZhtmQXimpoDMJg1zxmL8UfNUKiQZ6esoAWtDgpqt7Y7s KZ8laHRARonte394hidZzM5nb6hQvpPjt2OlPRsyqVxw4c/KsjADtAuKW9/d8phb N8bTyOJo856qg4oOEzKG9eeF7oaZTYBy33BTL0408sEBxiMior6b8LrZrAhkqDjA vUXRwm/fFKgpsOysxC6xi553CxBUCH2omNV6Ka1LNMwzSp9ILz8jEGqmUtkBszwo G1S8fXgE0Lq3cdDM/GJ4QXP/p6LiwNF99faDMTV3+2SAOGvytOX6KjKVzKOSsfJQ hN0DlsIw8hqJc0WISQQYEQIACQUCSedYRAIbDAAKCRDorT+BmrEOeCUOAJ9qmR0l EXzeoxcdoafxqf6gZlJZlACgkWF7wi2YLW3Oa+jv2QSTlrx4KLM= =Wi5D -----END PGP PUBLIC KEY BLOCK-----
執行下列指令,將公開金鑰輸入 GnuPG 金鑰資料庫。這組金鑰用於簽署代表版本的註解標記。
$ gpg --import keyfile.asc
匯入金鑰後,您可以執行下列指令來驗證任何標記:
$ git tag -v TAG_NAME