在下載並建立 Android 原始碼的main
分支之前,請確保您的硬體符合必要的要求並且所需的軟體已正確安裝。您還應該熟悉以下術語:
- git
- Git 是一個免費開源的分散式版本控制系統。 Android 使用 Git 進行本機操作,例如分支、提交、差異和編輯。如需學習 Git 的協助,請參閱Git 文件。
- 回購協議
- Repo 是 Git 的 Python 包裝器,可簡化跨多個 Git 儲存庫執行複雜的操作。 Repo 並不會取代 Git 的所有版本控制操作,它只會讓複雜的 Git 操作更容易完成。 Repo 使用清單檔案將 Git 專案聚合到 Android 超級專案中。
- 清單文件
- 清單文件是一個 XML 文件,指定 Android 原始碼中的各個 Git 項目在 AOSP 原始碼樹中的放置位置。
滿足硬體需求
您的開發工作站應符合或超過以下硬體需求:
64 位元系統。
至少 400 GB 可用磁碟空間用於簽出和建置程式碼(250 GB 用於簽出 + 150 GB 用於建置)。
至少 64 GB RAM。 Google 使用 72 核心、64 GB RAM 的機器來建置 Android。使用此硬體配置,完整建置 Android 大約需要 40 分鐘,增量建置 Android 只需幾分鐘。相比之下,使用具有 64 GB RAM 的 6 核心電腦進行完整建置大約需要 6 小時。
滿足作業系統要求
您的開發工作站必須運行任何具有 GNU C Library (glibc) 2.17 或更高版本的 64 位元 Linux 發行版。
安裝所需的套件
要建立 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 libncurses5 x11proto-core-dev libx11-dev lib32z1-dev libgl1-mesa-dev libxml2-utils xsltproc unzip fontconfig
在安裝的軟體包中,此命令安裝 Git,用於下載 AOSP 來源。
安裝所需軟體
在使用 AOSP 之前,您必須安裝 OpenJDK、Make、Python 3 和 Repo。 Android 的 AOSP 主分支附帶了 OpenJDK、Make 和 Python 3 的預先建置版本,因此不需要額外的安裝步驟。以下部分介紹如何安裝 Repo。
安裝倉庫
請依照以下步驟安裝 Repo:
下載目前包資訊:
sudo apt-get update
執行以下命令來安裝 Repo 啟動器:
sudo apt-get install repo
Repo 啟動器提供了一個 Python 腳本,用於初始化結帳並下載完整的 Repo 工具。
如果成功,請跳至步驟 4。
(可選)使用以下一系列命令手動安裝 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 下載到該文件,並驗證提供的金鑰是否與所需的金鑰相符。如果這些命令成功,最後一個命令將安裝 Repo 啟動器。
驗證 Repo 啟動器版本:
repo version
輸出應指示 2.5 或更高版本,例如:
repo launcher version 2.40
設定備用輸出目錄
預設情況下,每個建置的輸出都會儲存在符合來源樹的out/
子目錄中。您可以透過匯出OUT_DIR
環境變數來覆寫此目錄。例如,如果您想將輸出儲存在不同的磁碟機上,您可以將OUT_DIR
指向該磁碟機:
export OUT_DIR=my_other_drive
下一步是什麼?
- 若要下載原始碼,請繼續下載 Android 原始碼。
- 如需學習 Git 的協助,請參閱Git 文件。
- 有關其他 Repo 文檔,請參閱Repo README 。
- 有關所有 Repo 命令的列表,請參閱Repo 命令參考。
在下載並建立 Android 原始碼的main
分支之前,請確保您的硬體符合必要的要求並且所需的軟體已正確安裝。您還應該熟悉以下術語:
- git
- Git 是一個免費開源的分散式版本控制系統。 Android 使用 Git 進行本機操作,例如分支、提交、差異和編輯。如需學習 Git 的協助,請參閱Git 文件。
- 回購協議
- Repo 是 Git 的 Python 包裝器,可簡化跨多個 Git 儲存庫執行複雜的操作。 Repo 並不會取代 Git 的所有版本控制操作,它只會讓複雜的 Git 操作更容易完成。 Repo 使用清單檔案將 Git 專案聚合到 Android 超級專案中。
- 清單文件
- 清單文件是一個 XML 文件,指定 Android 原始碼中的各個 Git 項目在 AOSP 原始碼樹中的放置位置。
滿足硬體需求
您的開發工作站應符合或超過以下硬體需求:
64 位元系統。
至少 400 GB 可用磁碟空間用於簽出和建置程式碼(250 GB 用於簽出 + 150 GB 用於建置)。
至少 64 GB RAM。 Google 使用 72 核心、64 GB RAM 的機器來建置 Android。使用此硬體配置,完整建置 Android 大約需要 40 分鐘,增量建置 Android 只需幾分鐘。相比之下,使用具有 64 GB RAM 的 6 核心電腦進行完整建置大約需要 6 小時。
滿足作業系統要求
您的開發工作站必須運行具有 GNU C Library (glibc) 2.17 或更高版本的任何 64 位元 Linux 發行版。
安裝所需的套件
要建立 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 libncurses5 x11proto-core-dev libx11-dev lib32z1-dev libgl1-mesa-dev libxml2-utils xsltproc unzip fontconfig
在安裝的軟體包中,此命令安裝 Git,用於下載 AOSP 來源。
安裝所需軟體
在使用 AOSP 之前,您必須安裝 OpenJDK、Make、Python 3 和 Repo。 Android 的 AOSP 主分支附帶了 OpenJDK、Make 和 Python 3 的預先建置版本,因此不需要額外的安裝步驟。以下部分介紹如何安裝 Repo。
安裝倉庫
請依照以下步驟安裝 Repo:
下載目前包資訊:
sudo apt-get update
執行以下命令來安裝 Repo 啟動器:
sudo apt-get install repo
Repo 啟動器提供了一個 Python 腳本,用於初始化結帳並下載完整的 Repo 工具。
如果成功,請跳至步驟 4。
(可選)使用以下一系列命令手動安裝 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 下載到該文件,並驗證提供的金鑰是否與所需的金鑰相符。如果這些命令成功,最後一個命令將安裝 Repo 啟動器。
驗證 Repo 啟動器版本:
repo version
輸出應指示 2.5 或更高版本,例如:
repo launcher version 2.40
設定備用輸出目錄
預設情況下,每個建置的輸出都會儲存在符合來源樹的out/
子目錄中。您可以透過匯出OUT_DIR
環境變數來覆寫此目錄。例如,如果您想將輸出儲存在不同的磁碟機上,您可以將OUT_DIR
指向該磁碟機:
export OUT_DIR=my_other_drive
下一步是什麼?
- 若要下載原始碼,請繼續下載 Android 原始碼。
- 如需學習 Git 的協助,請參閱Git 文件。
- 有關其他 Repo 文檔,請參閱Repo README 。
- 有關所有 Repo 命令的列表,請參閱Repo 命令參考。