要求

下载和编译 Android 源代码之前,请先确保您的系统符合以下要求。然后,请参阅构建编译环境,查看适用于相应操作系统的安装说明。

硬件要求

您的开发工作站必须达到或超出以下硬件要求:

  • 如果是 Android 2.3.x (Gingerbread) 及更高版本(包括 master 分支),需要使用 64 位环境。如果是较低的版本,则可以在 32 位系统中进行编译。
  • 如果要检出代码,至少需要 250GB 可用磁盘空间;如果要进行编译,则还需要 150GB。如果要进行多次编译,则需要更多空间。
  • 如果在虚拟机中运行 Linux,则至少需要 16GB 的 RAM/交换空间。

软件要求

Android 开源项目 (AOSP) master 分支历来都是在 Ubuntu Long Term Support (LTS) 版本中进行开发和测试,但您也可以使用其他分发版本。要查看建议使用的版本,请参阅下面的列表。

您的工作站必须具有下面列出的软件。要查看所需的其他软件包以及用于安装这些软件包的命令,请参阅构建编译环境

操作系统和 JDK

如果您要针对 AOSP master 分支进行开发,请使用下列操作系统之一:Ubuntu 14.04 (Trusty)/Mac OS v10.10 (Yosemite) 或更高版本(具有 Xcode 4.5.2 和命令行工具)。

对于 Java 开发套件 (JDK),需要注意的是 AOSP 中 Android 的 master 分支带有预编译版本的 OpenJDK;因此无需另行安装。较低的版本则需要单独进行安装。

请参阅较低 Android 版本的软件包

主要软件包

设备二进制文件

下载预览、出厂映像、驱动程序、无线下载 (OTA) 更新和下列其他 Blob。有关详情,请参阅下载专有二进制文件

编译工具链

Android 8.0 及更高版本仅支持使用 Clang/LLVM 来编译 Android 平台。您可以加入 android-llvm 网上论坛来提出问题并获取帮助。在 NDK GitHub 上报告 NDK/编译器问题。

对于原生开发工具包 (NDK) 和旧版内核,您也可以使用 AOSP master 分支中包含的 GCC 4.9(在 prebuilts/ 下)。

较低 Android 版本的软件包

本部分详细介绍了较低 Android 版本的相关操作系统和 JDK 软件包。

操作系统

Android 通常是在 GNU/Linux 或 Mac OS 操作系统中进行编译。您也可以使用虚拟机在不支持的系统(例如 Windows)中编译 Android。

我们建议您在 GNU/Linux(而不是其他操作系统)上进行编译。Android 编译系统通常使用编译设备上运行的 ART 来预编译系统 dex 文件。由于 ART 只能在 Linux 上运行,因此编译系统会在非 Linux 操作系统上跳过这个预编译步骤,从而导致 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

JDK

有关较低 Android 版本的预编译路径和安装说明,请参阅安装 JDK

品牌

Android 4.0.x (Ice Cream Sandwich) 及更低版本必须将 make 3.82 还原到较低版本,以避免出现编译错误。