史上最簡單Android源碼編譯環境搭建方法
有史以來,Android源碼編譯環境的搭建始終是一件麻煩事兒。網上有數不清的文章介紹如何編譯Android源代碼,但是他們要麼方法複雜、步驟太多;要麼自稱解決了一些編譯問題(需要修改頭文件,系統配置等),讓人對其可信度產生質疑。有的童鞋硬著頭皮照做了,但是由於偉大的GFW,大部分都死在了第一步——repo腳本都下載不下來,就算下載過了過不了gerrit那一關。另外,就算你具備科學上網的能力,下載時間又成為了攔路虎;普通的VPN通常需要下載七八個小時,簡直就是痛不欲生。久而久之,很多人對下載編譯Android源碼望而卻步。
今天,我給大家提供一個極其簡單、穩定的方案,來解決Android源碼的下載編譯問題。
首先,下載問題可以通過鏡像解決;清華鏡像 和 科大鏡像 都是非常不錯的選擇,正常情況下一到兩個小時即可下載完一個Android源碼分支。
然後就是編譯環境問題。由於Android源碼龐大,依賴複雜;一旦使用的編譯工具鏈有細微的不同就可能引發編譯失敗。官方文檔 推薦使用Ubuntu 14.04進行編譯。如果我們用Windows或者Mac系統,傳統方式是使用虛擬機;但是在今天,我們完全可以使用 Docker 替代!!藉助Docker,我們可以直接把編譯工具鏈和Ubuntu系統整體打包,不論你開發機是什麼系統,都可以保證你的編譯環境和官方一致。另外,下載和編譯提供一站式服務,直接使用腳本自動完成,完全不用你操心。當然,這個偉大的創舉並不是我完成的,而是 kylemanna/docker-aosp!我針對Docker以及天朝的網路環境做了一部分修改,fork了一份 tiann/docker-aosp。
廢話不多說,我們具體看看如何使用,以及怎麼個簡單法。
使用步驟
1. 安裝DockerDocker的下載地址見 Docker下載 ;下載完畢安裝即可。
2. 準備工作如果你不是Mac系統,可以直接略過這一步。
Mac的文件系統默認不區分大小寫,這不滿足Android源碼編譯系統的要求(編譯的時候直接Error);因此需要單獨創建一個大小寫敏感的磁碟映像。步驟如下:
1. 打開Mac的系統軟體:磁碟工具
2. CMD + N,創建新的磁碟映像,參數設置如下圖:
其中磁碟大小設置為 50~100G合適,格式一定要選擇帶區分大小寫標誌的。3. 開始下載編譯
真正的下載編譯過程相當簡單,腳本會自動完成;步驟如下:
1). 設置Android源碼下載存放的目錄;如果是Mac系統,這一步必須設置為一個大小寫敏感的目錄;不然後面編譯的時候會失敗。如果不設置這一步,那麼源碼會下載到 `~/aosp-root` 目錄;設置過程如下:
export AOSP_VOL=/Volume/Android/
2). 下載wrapper腳本;如果需要下載其他系統版本,直接修改下載完畢後的build-nougat.sh文件的 android-4.4.4_r2.0.1改成你需要的分支即可,分支的信息見 分支列表。
curl -O https://raw.githubusercontent.com/tiann/docker-aosp/master/tests/build-nougat.sh
3). 運行腳本,開始自動下載安裝過程;Windows系統可以使用 Bash for Windows 或者cygwin。
bash ./build-nougat.sh
這樣,所有的工作就都做完了。只需靜靜等待即可;時間視下載速度而定,清華的鏡像速度還可以,筆者使用不到2小時就完成了下載編譯過程。
三步完成,是不是灰常簡單?趕緊下載編譯安裝屬於你的Android系統吧 ^_^
推薦閱讀:
※Docker學習資源匯總
※如何快速建立生物信息分析環境
※Docker進階:容器中的數據管理
※Docker 重要更新: 原生支持多階段構建(multi-stage build)
※CI Weekly #18 | flow.ci iOS 最佳實踐出爐,正式支持 Git@OSC 構建