要求
下載和編譯 Android 源代碼之前,請先確保您的系統符合以下要求。然後,請參閱構建編譯環境,查看適用於相應操作系統的安裝說明。
硬件要求
您的開發編譯機必須達到或超出以下硬件要求:
如果是 Gingerbread (2.3.x) 及更高版本(包括 master 分支),需要使用 64 位環境。如果是較低的版本,則可以在 32 位系統中進行編譯。
如果是校驗代碼,至少需要 100GB 可用磁盤空間;如果要進行編譯,則還需要 150GB。如果要進行多次編譯或使用 ccache,則需要更多空間。
如果您在虛擬機中運行 Linux,則至少需要 16GB 的 RAM/交換空間(swap)。
軟件要求
Android 開源項目 (AOSP) master 分支歷來都是在 Ubuntu Long Term Support (LTS) 版本中進行開發和測試,但您也可以使用其他 Ubuntu 分發版本。要查看建議使用的版本,請參閱下面的列表。
您的工作站必須具有下面列出的軟件。要查看所需的其他軟件包以及用於安裝這些軟件包的命令,請參閱構建編譯環境。
操作系統和 JDK
如果您要針對 AOSP master 分支進行開發,請使用下列操作系統之一:Ubuntu 14.04 (Trusty)/Mac OS v10.10 (Yosemite) 或更高版本(具有 Xcode 4.5.2 和命令行工具)。
對於 Java 開發套件 (JDK),需要注意的是 AOSP 中 Android 的 master 分支帶有預編譯版本的 OpenJDK;因此無需另外進行安裝。較低的版本則需要單獨進行安裝。
請參閱較低 Android 版本的軟件包。
主要軟件包
python.org 中提供的 Python 2.6 - 2.7
gnu.org 中提供的 GNU Make 3.81 - 3.82
git-scm.com 中提供的 Git 1.7 或更高版本
設備二進制文件
下載預覽、出廠映像、驅動程序、無線下載 (OTA) 更新和下列其他 Blob。如需更多詳細信息,請參閱下載專有二進制文件。
預覽二進制文件 (Blob) - 用於 AOSP master 分支開發
出廠映像 - 針對運行帶標記的 AOSP 版本分支的受支持設備
硬件支持二進制文件 - 針對運行帶標記的 AOSP 版本分支的設備
編譯工具鏈
Android 8.0 及更高版本僅支持使用 Clang/LLVM 來編譯 Android 平臺。您可以加入 android-llvm 網上論壇來提出問題並獲取幫助。在 NDK GitHub 上報告 NDK/編譯器問題。
對於原生開發工具包 (NDK) 和舊版內核,您也可以使用 AOSP 主分支中包含的 GCC 4.9(在 prebuilts/ 下)。
較低 Android 版本的軟件包
以下部分提供了較低 Android 版本的相關操作系統和 JDK 軟件包。
操作系統
Android 通常是在 GNU/Linux 或 Mac OS 操作系統中進行編譯。您也可以使用虛擬機在不支持的系統(例如 Windows)中編譯 Android。
GNU/Linux
Android 6.0 (Marshmallow) - AOSP master:Ubuntu 14.04 (Trusty)
Android 2.3.x (Gingerbread) - Android 5.x (Lollipop):Ubuntu 12.04 (Precise)
Android 1.5 (Cupcake) - Android 2.2.x (Froyo):Ubuntu 10.04 (Lucid)
Mac OS (Intel/x86)
Android 6.0 (Marshmallow) - AOSP master:Mac OS v10.10 (Yosemite) 或更高版本,具有 Xcode 4.5.2 和命令行工具
Android 5.x (Lollipop):Mac OS v10.8 (Mountain Lion),具有 Xcode 4.5.2 和命令行工具
Android 4.1.x-4.3.x (Jelly Bean) - Android 4.4.x (KitKat):Mac OS v10.6 (Snow Leopard) 或 Mac OS X v10.7 (Lion),以及 Xcode 4.2(Apple 的開發者工具)
Android 1.5 (Cupcake) - Android 4.0.x (Ice Cream Sandwich):Mac OS v10.5 (Leopard) 或 Mac OS X v10.6 (Snow Leopard),以及 Mac OS X v10.5 SDK
注意:請考慮在 GNU/Linux(而不是其他操作系統)上進行編譯。Android 編譯系統通常使用編譯設備上運行的 ART 來預編譯系統 dex 文件。由於 ART 只能在 Linux 上運行,因此編譯系統會在非 Linux 操作系統上跳過這個預編譯步驟,從而導致 Android 編譯的性能下降。
JDK
有關較低 Android 版本的預編譯路徑和安裝說明,請參閱安裝 JDK。
Android 7.0 (Nougat) - Android 8.0 (O):Ubuntu - OpenJDK 8;Mac OS - jdk 8u45 或更高版本
Android 5.x (Lollipop) - Android 6.0 (Marshmallow):Ubuntu - OpenJDK 7;Mac OS - jdk-7u71-macosx-x64.dmg
Android 2.3.x (Gingerbread) - Android 4.4.x (KitKat):Ubuntu - Java JDK 6;Mac OS - Java JDK 6
Android 1.5 (Cupcake) - Android 2.2.x (Froyo):Ubuntu - Java JDK 5
make
Android 4.0.x (Ice Cream Sandwich) 及更低版本需要將 make 3.82 還原到較低版本,以避免出現編譯錯誤。