Mac下設置Android源代碼編譯環境

在Mac下編譯Android最麻煩的就是設置Android的編譯環境了,作完這一步基本上剩下的就是近乎傻瓜式的操做了.提及來也簡單就三步,設置大小寫敏感的文件系統、安裝編譯工具、設置文件系統同時能打開的數量.html

默認狀況下,Mac OS運行在不區分大小寫的文件系統上,git對這類型的文件系統支持不太好,有可能會致使git命令運行出錯(好比git status)。所以,咱們推薦在一個區分大小寫的文件系統中,作與AOSP相關的操做。這很容易就能夠用磁盤映像(disk image)作到,下面會討論到.java

一旦咱們有了合適的文件系統,在Mac系統上編譯master就變得很是簡單、直接了。早起的分支,好比ICS,須要一些額外的工具.linux

建立大小寫敏感的磁盤映像

爲了建立一個大小寫敏感的分區,咱們可使用帶GUI界面的磁盤工具(Mac自帶)或者使用命令行建立。根據個人經驗,下載Android 6.0的代碼大約須要50GB,編譯後能膨脹到72GB。固然,若是磁盤空間緊張,下載源代碼後,你能夠手動將源碼根目錄下面的.repo目錄刪除,這樣大約能夠節省25GB的空間.android

使用磁盤工具建立的步驟:git

  1. 選擇"新建映像(new Image)"
  2. 格式那裏選擇Mac Os擴展(區分大小寫,日誌式),大小至少選擇50GB.

使用命令行建立macos

  1. 建立磁盤空間
hdiutil create -type SPARSE -fs 'Case-sensitive Journaled HFS+' -size 40g ~/android.dmg

這會建立一個.dmg(或者也與多是一個.dmg.sparseimage)文件,一旦掛載上,就是一個Android開發所須要的文件系統格式的磁盤.bash

若是你須要調整磁盤空間的大小,可使用下面的命令:oracle

  1. 調整磁盤空間的大小
hdiutil resize -size <new-size-you-want>g ~/android.dmg.sparseimage

android.dmg(android.dmg.sparseimage)會保存在home(~)目錄下,你能夠在~/.bash_profile添加幫助函數:app

使用mountAndroid來掛載映像:函數

# mount the android file image
function mountAndroid { hdiutil attach ~/android.dmg -mountpoint /Volumes/android; }

使用 umountAndroid取消掛載:

# unmount the android file image
function umountAndroid() { hdiutil detach /Volumes/android; }

完成後,就能夠看見在/Volumes/中掛載了一個叫android的磁盤。

安裝JDK

Android開源項目(AOSP)的master分支須要java 8.在Mac系統上使用jdk 8u45 或者更新的版本.

5.0.x的分支須要Java 7.在Mac上,使用 use jdk-7u71-macosx-x64.dmg

開發從版本Gingerbread(Android 2.3)到KitKat(Android 4.4)須要使用Java 6

安裝須要的包

從Apple的開發者網站下載XCode。推薦使用3.1.4或者更新(好比gcc 4.2)版本4.X可能會致使一些問題.
對於我而言,我安裝了最新的Xcode(7.2版本,SDK 版本MacOSX10.11),可是因爲不是Android官方推薦的版本,在編譯前還須要做一些修改,具體的後面會介紹.
從 macports.org安裝MacPorts.
注意:要確保/opt/local/bin 在path中排在/usr/bin以前.若是沒有添加下面的東西到~/.bash_profile文件中.若是沒有~/.bash_profile文件,那麼就建立一個

export PATH=/opt/local/bin:$PATH

從MacPorts獲取make, git, and GPG packages :

$ POSIXLY_CORRECT=1 sudo port install gmake libsdl git gnupg

若是使用 Mac OS X v10.4, 還須要安裝 bison:

$ POSIXLY_CORRECT=1 sudo port install bison

設置文件同時打開數量

在Mac中,默認的文件同時打開數實在過低,一個高速並行的編譯進程運行時可能會遇到瓶頸。(注:Mac上限制最大打開文件數的緣由是每打開一個文件,系統都須要內存來管理它們,內存是有限的資源)
爲了增長最大文件打開數量,在~/.bash_profile中添加:

# 設置文件打開數量爲1024
ulimit -S -n 1024

接下來,就能夠下載Android的源代碼了.剩下的就只是須要耐心了.

相關文章
相關標籤/搜索