本页讨论如何设置 Android 8.0 或更低版本的开发。要了解如何构建 Android 9.0 及更高版本,请参阅设置 AOSP 开发。
为 AOSP 开发做好准备 (5.0 - 8.0)
对于 Android 5.0 到 8.0,请考虑使用附带的Dockerfile来简化所有必需包的安装。
操作系统
Android 通常是使用 GNU Linux 构建的。还可以在不受支持的系统(例如 Mac OS X)上的虚拟机中构建 Android。
Google 建议在 GNU Linux 上构建。 Android 构建系统通常在构建机器上运行 ART 来预编译系统 DEX 文件。 ART 只能在 Linux 上运行,因此构建系统会在非 Linux 操作系统上跳过此预编译步骤,从而导致 Android 构建性能降低。
GNU Linux
- Android 6.0 - Android 8.0:Ubuntu 14.04(可信)
- 安卓 5.x:Ubuntu 12.0
Mac OS X(英特尔/x86)
- Android 6.0 - AOSP 8.0:Mac OS X v10.10 (Yosemite) 或更高版本,带有 Xcode 4.5.2 和命令行工具
- Android 5.x:带有 Xcode 4.5.2 和命令行工具的 Mac OS X v10.8 (Mountain Lion)
JDK
安卓 7.0 - 安卓 8.0:
- Ubuntu: OpenJDK 8
- Mac OS X: JDK 8u45 或更高版本
Android 5.x(棒棒糖)- Android 6.0(棉花糖):
- Ubuntu: OpenJDK 7
- Mac OS X: jdk-7u71-macosx-x64.dmg
为 AOSP 开发做好准备 (2.3 - 4.4)
本部分提供有关如何设置 Android 2.3 至 Android 4.4 的一些指导。
操作系统
Android 通常是使用 GNU Linux 构建的。还可以在不受支持的系统(例如 Windows)上的虚拟机中构建 Android。
Google 建议在 GNU Linux 上构建。 Android 构建系统通常在构建机器上运行 ART 来预编译系统 DEX 文件。 ART 只能在 Linux 上运行,因此构建系统会在非 Linux 操作系统上跳过此预编译步骤,从而导致 Android 构建性能降低。
GNU Linux
- Android 2.3.x - Android 4.4:Ubuntu 12.04(精确)
Mac OS X(英特尔/x86)
- Android 4.1.x - Android 4.4.x:Mac OS X v10.6 (Snow Leopard) 或 Mac OS X v10.7 (Lion) 和 Xcode 4.2(Apple 开发人员工具)
- Android 2.3 - Android 4.0.x:Mac OS X v10.5 (Leopard) 或 Mac OS X v10.6 (Snow Leopard) 和 Mac OS X v10.5 SDK
GNU 使
对于 Android 4.1.x 到 4.4,请使用GNU make (gmake) 3.82 。对于 Android 2.3 至 4.0.x,请从 gmake 3.82 恢复以避免构建错误。
Xcode 和其他包
对于 Mac OS X v10.8 或更低版本,请从Apple 开发人员网站安装 Xcode。如果您尚未注册为 Apple 开发者,则必须创建 Apple ID 才能下载。
如果使用 Mac OS X v10.4,还需安装 Bison:
POSIXLY_CORRECT=1 sudo port install bison
对于 MacPort,发出:
POSIXLY_CORRECT=1 sudo port install gmake libsdl git gnupg
对于 Homebrew,发出:
brew install gmake libsdl git gnupg2
从 gmake 3.82 恢复
在 Android 4.0.x 及更低版本中,gmake 3.82 有一个错误,导致 Android 无法构建。您可以通过以下步骤使用 MacPorts 安装版本 3.81:
编辑
/opt/local/etc/macports/sources.conf
并在rsync
行上方添加file:///Users/Shared/dports
。创建
dports
目录:mkdir /Users/Shared/dports
在新的
dports
目录中,运行:svn co --revision 50980 http://svn.macports.org/repository/macports/trunk/dports/devel/gmake/ devel/gmake/
为新的本地存储库创建端口索引:
portindex /Users/Shared/dports
安装低版本的gmake:
sudo port install gmake @3.81
JDK
- 安卓 2.3.x - 安卓 4.4.x:
- Ubuntu: Java JDK 6
- Mac OS X: Java JDK 6
适用于 Linux 的 JDK
Android 开源项目 (AOSP)在prebuilts/jdk/
中附带了 OpenJDK 的预构建版本,因此无需额外安装。
早期版本的 Android 需要单独安装 JDK。在 Ubuntu 上,使用OpenJDK
适用于 Ubuntu 15.04 及更高版本
运行以下命令:
sudo apt-get update
sudo apt-get install openjdk-8-jdk
对于 Ubuntu LTS 14.04
Ubuntu 14.04 没有可用的受支持的 OpenJDK 8 软件包。 Ubuntu 15.04 OpenJDK 8 软件包已成功用于 Ubuntu 14.04。使用以下说明,更高的软件包版本(例如,15.10、16.04 的软件包)无法在 14.04 上运行。
从old-releases.ubuntu.com下载 64 位架构的
.deb
软件包openjdk-8-jre-headless_8u45-b14-1_amd64.deb
与 SHA2560f5aba8db39088283b51e00054813063173a4d8809f70033976f83e214ab56c0
-
openjdk-8-jre_8u45-b14-1_amd64.deb
与 SHA2569ef76c4562d39432b69baf6c18f199707c5c56a5b4566847df908b7d74e15849
-
openjdk-8-jdk_8u45-b14-1_amd64.deb
与 SHA2566e47215cf6205aa829e6a0a64985075bd29d1f428a4006a80c9db371c2fc3c4c
(可选)根据步骤 1 中每个包列出的 SHA256 字符串确认下载文件的校验和。例如,使用
sha256sum
工具:sha256sum {downloaded.deb file}
安装软件包:
sudo apt-get update
对您下载的每个
.deb
文件运行dpkg
。由于缺少依赖项,它可能会产生错误:sudo dpkg -i {downloaded.deb file}
要修复缺少的依赖项:
sudo apt-get -f install
(可选)更新默认 Java 版本
(可选)对于前面提到的 Ubuntu 版本,通过运行以下命令更新默认 Java 版本:
sudo update-alternatives --config java
sudo update-alternatives --config javac
安装 Ubuntu 14.04 所需的软件包
运行以下命令安装 Ubuntu 14.04 所需的软件包:
$ sudo apt-get install git-core gnupg flex bison gperf build-essential zip curl zlib1g-dev 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 所需的软件包:
$ 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 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