構建最近的舊版本 (>= 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