mac編譯aosp的配置需求?

官網上說「running Linux in a virtual machine」需要至少16GB RAM/swap,那麼在不是虛擬機的OS X上運行需要什麼配置呢?還有「150GB for single build」,128GB的快閃記憶體是不是就不夠用了?有過相關經驗的親們傳授一下^_^


@劉東

謝邀,正好上次編譯過一次android sdk。

上次為了編譯aapt,把整個源碼(5.1)下載了。

下載下來的文件大致31G左右,含代碼以及元信息。

當時配置是Windows 7+ Vmware +Ubuntu 14 +8G內存(虛擬機實際4G左右)。

體驗是下載慢的一比,最後我從清華源(Ubuntu14.04怎麼安裝repo以及下載Android源碼(如何翻牆)? - 知乎用戶的回答)下載的。慢慢等吧,至少半天。

由於鏈接涉及翻牆,被刪除,補充一下,替換Google的

https://android.googlesource.com/platform/manifest

鏈接為以下(清華鏡像)就可以了

git://aosp.tuna.tsinghua.edu.cn/android/platform/manifest

這有一篇文章,https://mirrors.tuna.tsinghua.edu.cn/help/AOSP/,可以參考

按照官方教程做,配置各種環境也得半天,然後編譯代碼,估計也得半天左右。

最重要的是硬碟空間一定要夠,給虛擬機分配的虛擬硬碟空間建議分個比官方建議大30-50G(當時折騰硬碟也費了不少時間,後面虛擬機直接掛了),或者直接真機,不用虛擬機。

128G夠嗆,可以考慮接個移動硬碟什麼的,當然比如你下載比較老的代碼,比如2.3的應該是可以的

建議內存給夠(4G十分慢),不然後面編譯十分慢。

另外,建議再找一台備機,查找資料什麼的用。

由於坑很多,第一次按照官方的說明做,會節省很多時間,後續熟練了再自己定製

我博客裡面寫了下大致的過程,我只是編譯android sdk(aapt包含在內),編譯源碼流程差不多,參考官方教程就行了。

由於在練英文寫作能力,所以博客當時是用英文寫的。Build aapt for windows

最後,參考Google官方的Build說明


2015/9/30 19:47更新

編譯完成了,一共用了3小時08分的時間。由於我的電腦還在運行著其他的程序(比如瀏覽器,qq,還有很吃資源的Android Studio)所以用的時間不算短。整個過程中CPU的使用率基本上保持在100%(2.2G默認頻率的i7,睿頻能到3G左右)。

時間和最終的佔用空間見下圖:

2015/9/30 16:32更新

終於把代碼下載完了,大概用了24小時……

一共是35G

待我編譯,看看需要多久……

----------------------------------------------------------------------------------------------------------------------------分割線

也說說我的經驗吧。

電腦的配置:我是4核8線的i7(筆記本),虛擬機裡面裝的Ubuntu 14.04,在翻牆之後,編譯環境是非常簡單的,基本上就是安裝openjdk7,然後根據Google官方文檔,install幾個包,有的可能會出現依賴問題,只要根據提示手動解決就ok。

下載源碼是最費勁的一步,同 @RxRead 所述,基本上就是30多G了,這個過程會非常緩慢,哪怕你的梯子質量還不錯。

編譯的時候,我一般會用make -j8或者-j16,然後虛擬機給8G的內存,大概1-2個小時就編譯完了。

16G的RAM+SWAP,感覺是不太需要的,印象中給8G內存,swap好像沒怎麼利用到。硬碟空間方面,我是給了虛擬機120G的空間(純SSD的,在SSD裡面編譯真的是快很多),編譯完成後,整個源碼目錄大概是佔用了60G。

以上數據可能略不準,我打算重新下一遍源碼(虛擬機重裝了,原來的沒了……),重新走一遍這個過程,回來更新一下數據。


關鍵是要硬碟。

5.x 源碼加out目錄,90g左右了都,不是256G的,就不要編了


上面的答主似乎沒提到Ccache......這玩意可以極大縮短編譯時間。

mac 8G 128GB夠了。


MBP 15寸 mid-2015低配,i7 4770HQ + 集顯,16GB RAM + 256GB SSD,外接USB3.0 機械硬碟折騰Cyanogenmod 12,給Nexus 7編譯,學校網速快(峰值100Mbps下行),下代碼花了三個多小時的樣子,然後帶回家,make -j8花了三個小時編譯,主要還是硬碟速度有瓶頸,不然還能更快。

類似的OpenWrt Trunk,同樣外接機械硬碟,目標平台x86(給Hyper-V下的軟路由用),編譯一大堆軟體包(LuCI、Python、Samba、LAMP+ftpd全家桶、各種驅動等等),如果預先下載好(在學校網路執行make prepare)各種軟體包的源碼,開spraseimage虛擬一個區分大小寫的HFS分區,大概要1個半小時到倆小時編譯完。


推薦閱讀:

TAG:Android開發 | OSX開發 | 電腦配置 | AOSP |