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 檔案,用於指定不同 Git 專案的位置 會放在工作目錄中。 這個範例並未指定資訊清單檔案的名稱 因此指令會使用預設的資訊清單檔案 (default.xml
)。輸出內容應包含訊息:
repo has been initialized in path_to_working_directory
如需資訊清單檔案格式的相關資訊,請參閱 存放區資訊清單格式。
如需所有存放區指令的清單,請參閱 Repo 指令參考資料。
下載 Android 原始碼
執行下列指令,將 Android 原始碼樹狀結構下載至工作環境 目錄:
$ repo sync -c -j8
-c
引數會指示存放區從以下來源擷取目前的資訊清單分支版本:
伺服器-j8
指令會將同步作業分割至多個執行緒,以加快作業速度
完成。
這項作業應該會在一小時內完成。
如果您在下載過程中遇到任何問題,請參閱 疑難排解並修正同步處理問題。
下載專屬二進位檔
Android 開放原始碼計畫可以直接在 Cuttlefish 模擬器上執行,但無法在沒有其他裝置專屬程式庫的硬體上使用 Android 開放原始碼計畫。以下說明如何取得裝置二進位檔:
- 如要下載 Nexus 或 Pixel 的
main
分支版本和建構應用程式, 請從以下程式中下載最新的二進位檔: 二進位檔預覽網站。 - 如果要下載和建構
main
分支版本 您必須提供裝置專屬的二進位檔。 - 如果要下載並建構標記、非主要、分支版本和建築物 如果是 Nexus 或 Pixel 裝置,請從以下位置下載裝置專用的二進位檔: Nexus 和 Pixel 裝置的二進位檔。
擷取專屬二進位檔
每組二進位檔都提供一個壓縮檔的自我解壓縮指令碼 封存。擷取這些二進位檔,並放在 來源樹狀結構:
- 將封存檔解壓縮。
- 從 Android 開放原始碼計畫根目錄執行隨附的自我擷取殼層指令碼 來源樹狀結構。
- 同意所附授權協議的條款。二進位檔及其相關
相符的 makefile 會安裝在來源樹狀結構的
vendor/
階層中。
(選用) 確認程式碼是否合法
如果您擔心原始碼是否合法,例如是否存在 ,您可以驗證分支的 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