建立構建環境

本節介紹如何設置本地工作環境以構建 Android 源文件。你必須使用 Linux;不支持在 MacOS 或 Windows 下構建。記住的重要轉變到/usr/bin/python二進制為好。

對於整個代碼審查和代碼更新過程的概述,請參閱補丁的生命

選擇分行

構建環境的一些要求由您計劃編譯的源代碼版本決定。有關可用樹枝的完整列表,請參閱版本號。您也可以選擇下載並構建最新的源代碼(稱為master ),在這種情況下,你簡單地忽略分支規範,當您初始化存儲庫。

選擇分支後,請按照以下相應說明設置您的構建環境。

設置 Linux 構建環境

這些說明適用於所有分支,包括master

Android 版本通常在 Ubuntu LTS (14.04) 和 Debian 測試中進行內部測試。大多數其他發行版都應該提供所需的構建工具。

對於薑餅(2.3.x版本)和更高版本,包括master分支,需要一個64位的環境。舊版本可以在 32 位系統上編譯。

安裝所需的軟件包 (Ubuntu 18.04)

您需要 64 位版本的 Ubuntu。

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

安裝所需的軟件包 (Ubuntu 14.04)

您需要 64 位版本的 Ubuntu(推薦 14.04)。

sudo apt-get install git-core gnupg flex bison gperf build-essential zip curl zlib1g-dev gcc-multilib g++-multilib libc6-dev-i386 libncurses5 lib32ncurses5-dev x11proto-core-dev libx11-dev lib32z-dev libgl1-mesa-dev libxml2-utils xsltproc unzip

安裝所需的軟件包 (Ubuntu 12.04)

您可以使用 Ubuntu 12.04 來構建舊版本的 Android。 12.04版本不支持master或近期發布。

sudo apt-get install git gnupg flex bison gperf build-essential zip curl libc6-dev libncurses5-dev:i386 x11proto-core-dev libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 libgl1-mesa-dev g++-multilib mingw32 tofrodos python-markdown libxml2-utils xsltproc zlib1g-dev:i386
sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gnu/libGL.so

安裝所需的軟件包(Ubuntu 10.04-11.10)

不再支持在 Ubuntu 10.04-11.10 上構建,但可能有助於構建舊版本的 AOSP。

sudo apt-get install git gnupg flex bison gperf build-essential zip curl zlib1g-dev libc6-dev lib32ncurses5-dev ia32-libs x11proto-core-dev libx11-dev lib32readline5-dev lib32z-dev libgl1-mesa-dev g++-multilib mingw32 tofrodos python-markdown libxml2-utils xsltproc

在 Ubuntu 10.10 上:

sudo ln -s /usr/lib32/mesa/libGL.so.1 /usr/lib32/mesa/libGL.so

在 Ubuntu 11.10 上:

sudo apt-get install libx11-dev:i386

配置 USB 訪問

安裝的社區維護默認設置udev按照該指令適用於所有Android設備的規則,設立了開發的裝置

使用單獨的輸出目錄

默認情況下,每個構建器的輸出被存儲在out/匹配源樹的子目錄。

在某些具有多個存儲設備的機器上,將源文件和輸出存儲在不同的捲上時,構建速度會更快。為了獲得額外的性能,輸出可以存儲在針對速度而不是崩潰穩健性優化的文件系統上,因為如果文件系統損壞,所有文件都可以重新生成。

要這樣設置,出口OUT_DIR_COMMON_BASE變量點到你的輸出目錄將被存儲的位置。

export OUT_DIR_COMMON_BASE=<path-to-your-out-directory>

每個單獨的源代碼樹的輸出目錄以保存源代碼樹的目錄命名。舉例來說,如果你有源樹/source/master1/source/master2如果OUT_DIR_COMMON_BASE設為/output ,輸出目錄是/output/master1/output/master2

避免將多個源代碼樹存儲在具有相同名稱的目錄中,因為這些源代碼樹最終會共享一個輸出目錄,從而產生不可預測的結果。這是僅支持果凍豆(4.1)和更高,包括master分支。

下一篇:下載源碼

您的構建環境很好!繼續執行下載源