史上最簡單Android源碼編譯環境搭建方法
有史以來,Android源碼編譯環境的搭建始終是一件麻煩事兒。網上有數不清的文章介紹如何編譯Android源代碼,但是他們要么方法復雜、步驟太多;要么自稱解決了一些編譯問題(需要修改頭文件,系統配置等),讓人對其可信度產生質疑。有的童鞋硬著頭皮照做了,但是由于偉大的GFW,大部分都死在了第一步——repo腳本都下載不下來,就算下載過了過不了gerrit那一關。另外,就算你具備KX上網的能力,下載時間又成為了攔路虎;普通的V*N通常需要下載七八個小時,簡直就是痛不欲生。久而久之,很多人對下載編譯Android源碼望而卻步。
今天,我給大家提供一個極其簡單、穩定的方案,來解決Android源碼的下載編譯問題。
首先,下載問題可以通過鏡像解決; 清華鏡像 和 科大鏡像 都是非常不錯的選擇,正常情況下一到兩個小時即可下載完一個Android源碼分支。
然后就是編譯環境問題。由于Android源碼龐大,依賴復雜;一旦使用的編譯工具鏈有細微的不同就可能引發編譯失敗。如果我們用Windows或者Mac系統,傳統方式是使用虛擬機;但是在今天,我們完全可以使用 Docker 替代!!借助Docker,我們可以不用擔心編譯環境問題;不論我們的開發機是什么系統,可以使用Docker創建Ubuntu Image,并且直接在這個Ubuntu系統環境中創建編譯所需要的工具鏈(JDK,ubuntu系統的依賴庫等等);而且,Docker運行的Ubuntu的系統開銷比虛擬機低得多,這樣下載以及編譯速度就有了質的提升。更重要的是,這個環境可以作為一個Image打包發布!這樣,你在不同的開發機,還有你與你的同事之間有了同一套編譯環境,這會省去很多不必要的麻煩。
當然,這個偉大的創舉并不是我完成的,而是 kylemanna/docker-aosp !我針對Docker以及天朝的網絡環境做了一部分修改,fork了一份 tiann/docker-aosp 。
廢話不多說,我們看看具體如何使用,以及怎么個簡單法。
使用步驟
安裝Docker
Docker的下載地址見 Docker下載 ;下載完畢安裝即可。
準備工作
如果你不是Mac系統,可以直接略過這一步。
Mac的文件系統默認不區分大小寫,這不滿足Android源碼編譯系統的要求(編譯的時候直接Error);因此需要單獨創建一個大小寫敏感的磁盤映像。步驟如下:
- 打開Mac的系統軟件: 磁盤工具
-
CMD + N,創建新的磁盤映像,參數設置如下圖:
其中磁盤大小設置為 50~100G合適, 格式一定要選擇帶區分大小寫標志的。
開始下載編譯
真正的下載編譯過程相當簡單,腳本會自動完成;步驟如下:
-
設置Android源碼下載存放的目錄;如果是Mac系統,這一步必須設置為一個大小寫敏感的目錄;不然后面編譯的時候會失敗。如果不設置這一步,那么源碼會下載到 ~/aosp-root 目錄;設置過程如下:
export AOSP_VOL=/Volume/Android/
-
下載wrapper腳本;如果需要下載其他系統版本,直接修改下載完畢后的build-nougat.sh文件的 android-4.4.4_r2.0.1改成你需要的分支即可
curl -O https://raw.githubusercontent.com/kylemanna/docker-aosp/master/tests/build-nougat.sh
-
運行腳本,開始自動下載安裝過程;Windows系統可以使用 Bash for Windows 或者cygwin。
bash ./build-nougat.sh
這樣,所有的工作就都做完了。只需靜靜等待即可;時間視下載速度而定,清華的鏡像速度還可以,筆者使用不到2小時就完成了下載編譯過程。
三步完成,是不是灰常簡單?趕緊下載編譯安裝屬于你的Android系統吧 ^_^
來自:http://weishu.me/2016/12/30/simple-way-to-compile-android-source/