构建最近的旧版本 (>= 5.0 Lollipop)
对于 Android 版本 8.0(Oreo 或 O)– 5.0(Lollipop 或 L),请考虑使用包含的Dockerfile来简化所有必需包的安装。
构建真正的旧版本(<= 4.4 KitKat)
操作系统
Android 通常使用 GNU/Linux 构建。也可以在不受支持的系统(如 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 X (英特尔/x86)
- Android 6.0 (Marshmallow) – AOSP master:Mac OS X v10.10 (Yosemite) 或更高版本,带有 Xcode 4.5.2 和命令行工具
- Android 5.x (Lollipop):带有 Xcode 4.5.2 和命令行工具的 Mac OS X v10.8 (Mountain Lion)
- Android 4.1.x (Jelly Bean) – Android 4.4.x (KitKat):Mac OS X v10.6 (Snow Leopard) 或 Mac OS X v10.7 (Lion) 和 Xcode 4.2 (Apple Developer Tools)
- Android 1.5 (Cupcake) – Android 4.0.x (Ice Cream Sandwich): Mac OS X v10.5 (Leopard) 或 Mac OS X v10.6 (Snow Leopard) 和 Mac OS X v10.5 SDK
GNU 制造
对于通过 Android 4.1.x (Jelly Bean) 低于 AOSP 主分支的版本,请使用GNU make (gmake) 3.82 。对于 Android 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
对于 MacPorts,发出:
POSIXLY_CORRECT=1 sudo port install gmake libsdl git gnupg
对于 Homebrew,发出:
brew install gmake libsdl git gnupg2
从 gmake 3.82 恢复
在 Android 4.0.x (Ice Cream Sandwich) 及更低版本中,gmake 3.82 有一个错误会阻止 Android 构建。您可以通过以下步骤使用 MacPorts 安装 3.81 版:
- 编辑
/opt/local/etc/macports/sources.conf
并在 rsync 行上方添加以下行:file:///Users/Shared/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
支持的版本
- Android 7.0(牛轧糖)- Android 8.0(奥利奥):
- Ubuntu: OpenJDK 8
- Mac OS X: JDK 8u45 或更高版本
- Android 5.x (Lollipop) – Android 6.0 (Marshmallow):
- Ubuntu: OpenJDK 7
- Mac OS X: jdk-7u71-macosx-x64.dmg
- Android 2.3.x (Gingerbread) – Android 4.4.x (KitKat):
- Ubuntu: Java JDK 6
- Mac OS X: Java JDK 6
- Android 1.5 (Cupcake) – Android 2.2.x (Froyo):
- Ubuntu: Java JDK 5
适用于 Linux 的 JDK
Android 开源项目 (AOSP)中的 Android master
分支在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
- openjdk-8-jre-headless_8u45-b14-1_amd64.deb
- 或者,根据上面每个包中列出的 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