設定 Android 開放原始碼計畫開發作業 (9.0 以上版本)

下載及建構 Android 來源的 main 分支版本之前,請確認 您的硬體是否符合必要的需求以及所需的軟體 已正確安裝。您也應該熟悉下列字詞:

Git
Git 是免費的開放原始碼發布版本管控系統。 Android 使用 Git 執行本機作業,例如分支版本、修訂版本、差異比較、 編輯和編輯內容如需學習 Git 的相關說明,請參閱 Git 說明文件
存放區
Repo 是 Git 周圍的 Python 包裝函式,可簡化執行作業 跨多個 Git 存放區執行複雜作業存放區不會取代 Git 執行任何版本管控作業時,只會讓複雜的 Git 作業更加輕鬆 並不容易存放區會使用資訊清單檔案來匯總 Git 專案 Android 超級專案
資訊清單檔案
資訊清單檔案是 XML 檔案,用於說明不同 Git 專案的位置 Android 原始碼位於 Android 開放原始碼計畫原始碼樹狀結構中。

Meet 設備需求

您的開發工作站應符合或超出以下硬體需求: 規定:

  • 64 位元 x86 系統。

  • 至少要有 400 GB 的可用磁碟空間,才能進行檢查及建立程式碼 (共有 250 GB 的頻寬,待建構量為 150 GB)。

  • 至少有 64 GB RAM。Google 搭載 72 核心的 64 GB 機器 建構 Android 系統設定這項硬體後 完整的 Android 版本約 40 分鐘,漸進式 Android 版本只需要幾分鐘的時間。相較之下,在 2024 年 搭載 64 GB RAM 的 6 核心機器

符合作業系統需求

您的開發工作站必須使用 GNU C 執行任何 64 位元 Linux 發行版 Library (glibc) 2.17 以上版本。

安裝必要套件

如要建構 Android 11 以上版本,必須使用 Ubuntu 18.04 以上版本。如何安裝 Ubuntu 18.04 或以上版本所需的套件,請執行下列指令:

sudo apt-get install git-core gnupg flex bison build-essential zip curl zlib1g-dev libc6-dev-i386 x11proto-core-dev libx11-dev lib32z1-dev libgl1-mesa-dev libxml2-utils xsltproc unzip fontconfig

在安裝的套件中,這個指令會安裝 Git, 下載 Android 開放原始碼計畫來源。

安裝所需的軟體

使用 Android 開放原始碼計畫之前,您必須先安裝 OpenJDK、Make、Python 3 和 Repo。Android 開放原始碼計畫的主要分支版本 包括 OpenJDK、Make 和 Python 3 的預先建構版本,因此額外的安裝 並非必要步驟下一節說明如何安裝存放區。

安裝存放區

請按照下列步驟安裝存放區:

  1. 下載目前的套件資訊:

    sudo apt-get update
    
  2. 執行下列指令,安裝 Repo 啟動器:

    sudo apt-get install repo
    

    Repo 啟動器提供可以初始化結帳的 Python 指令碼 並下載完整的存放區工具

    如果成功,請跳到步驟 4。

  3. (選用) 使用下列一系列指令手動安裝 Repo:

    export REPO=$(mktemp /tmp/repo.XXXXXXXXX)
    curl -o ${REPO} https://storage.googleapis.com/git-repo-downloads/repo
    gpg --recv-keys 8BB9AD793E8E6153AF0F9A4416530D5E920F5C65
    curl -s https://storage.googleapis.com/git-repo-downloads/repo.asc | gpg --verify - ${REPO} && install -m 755 ${REPO} ~/bin/repo
    

    前三個指令會設定暫存檔案、將存放區下載至檔案,以及 驗證提供的金鑰是否與必要金鑰相符。如果這些指令 成功,最後的指令會安裝 Repo 啟動器。

  4. 驗證存放區啟動器版本:

    repo version
    

    輸出內容應指出 2.4 以上版本,例如:

    repo launcher version 2.45

設定替代輸出目錄

根據預設,每個版本的輸出內容會儲存在 out/ 子目錄的 相符的來源樹狀結構如要覆寫這個目錄,您可以匯出 OUT_DIR 環境變數。例如,如果想儲存輸出內容 在其他硬碟上,您可以將 OUT_DIR 指向該硬碟:

export OUT_DIR=my_other_drive

後續步驟