本頁說明如何設定 Android 8.0 或 較舊版本如要瞭解如何建構 Android 9.0 以上版本,請參閱 設定 Android 開放原始碼計畫開發作業。
設定 Android 開放原始碼計畫開發作業 (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 (Trusty)
- Android 5.x:Ubuntu 12.0
Mac OS X (Intel/x86)
- Android 6.0 - AOSP 8.0:Mac OS X v10.10 (Yosemite) 或 安裝 Xcode 4.5.2 和命令列工具
- Android 5.x:Mac OS X v10.8 (Mountain Lion) 搭載 Xcode 4.5.2 和指令列工具
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 - 4.4)
本節將說明如何設定 Android 2.3 至 Android 4.4。
作業系統
Android 通常內建 GNU Linux。您也可以建構 Android 或 Windows 等不支援的系統上的虛擬機器
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 (Intel/x86)
- Android 4.1.x - Android 4.4.x:Mac OS X v10.6 (雪花白) 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 開發人員網站如果您不是 已註冊為 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 以下版本中,gmake 3.82 含有錯誤 以防止 Android 系統進行建構如要安裝 3.81 版,請使用 請按照下列步驟使用 MacPort:
編輯
/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
- Android 2.3.x - Android 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 版中運作,請參閱以下操作說明。
從以下位置下載適用於 64 位元架構的
.deb
套件: old-releases.ubuntu.comopenjdk-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