史上最簡單Android源碼編譯環境搭建方法

OliveGerrit 7年前發布 | 17K 次閱讀 Docker 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);因此需要單獨創建一個大小寫敏感的磁盤映像。步驟如下:

  1. 打開Mac的系統軟件: 磁盤工具
  2. CMD + N,創建新的磁盤映像,參數設置如下圖:

    其中磁盤大小設置為 50~100G合適, 格式一定要選擇帶區分大小寫標志的。

開始下載編譯

真正的下載編譯過程相當簡單,腳本會自動完成;步驟如下:

  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/kylemanna/docker-aosp/master/tests/build-nougat.sh

  3. 運行腳本,開始自動下載安裝過程;Windows系統可以使用 Bash for Windows 或者cygwin。

    bash ./build-nougat.sh

這樣,所有的工作就都做完了。只需靜靜等待即可;時間視下載速度而定,清華的鏡像速度還可以,筆者使用不到2小時就完成了下載編譯過程。

三步完成,是不是灰常簡單?趕緊下載編譯安裝屬于你的Android系統吧 ^_^

 

來自:http://weishu.me/2016/12/30/simple-way-to-compile-android-source/

 

 本文由用戶 OliveGerrit 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!