搞了幾個月的Android應用開發,勉強算是個Android開發者了吧,Android本就是開源的,還是把源代碼下載下來自己編譯一下,看看是個什么東西,出於好奇,和以后的職業發展,開始了無休止的Android研究過程。。。
這篇連載博客用來記錄我從下載源代碼到編譯的整個過程,開始百度和谷歌了無數資料,遇到了不少的問題,以總結出來,希望對后來者有所幫助,於我也算是一種總結吧
接下來首先開發獲取最新的Android源代碼,目前最新版本是4.0
要獲取源代碼,當然還得先看官方文檔怎么說http://source.android.com/source/initializing.html
第一步:初始化編譯環境
To build the Android source files, you will need to use Linux or Mac OS. Building under Windows is not currently supported
大概意思就是指要編譯Android源代碼文件,你需要使用Linux或者Mac OS系統,在Windows下編譯當前不是被支持的,所以,得安個Linux,我目前用的是裝在虛擬機的Ubuntu,當然其它的也可以的。
Note: The source download is approximately 6GB in size. You will need 25GB free to complete a single build, and up to 80GB (or more) for a full set of builds.
這一句表示有空間容量的限制,我還在下載,據說完全下載后有6G左右,建議有多大空間就分多大吧,多多益善。
第二步:建立一個Linux的編譯環境
在虛擬機中安裝Ubuntu以后(在安裝Ubuntu的時候,建議斷開網絡,或者是在連網下載東西的時候,選擇skip跳過,這樣安裝的快一些,我用的最新的ubuntu11.10),接下來:
安裝JDK
一般ubuntu安裝好后自帶有openJDK,這里我們需要使用的是Sun公司的JDK,但是Sun JDK不再ubuntu的軟件源里面,為了下載到它,需要增加一個軟件源地址,對於到底用JDK5還是用JDK6呢?官方有做解釋的,JDK6適合於編譯Gingerbread (姜餅)或者更新的版本,就是2.3或者2.3以上的版本吧,對於2.2或者更低版本的,推薦用JDK5 ,這里我們編譯4.0的,當然就用JDK6了
在終端中運行下面三句:
$ sudo add-apt-repository "deb http://archive.canonical.com/ lucid partner"
$ sudo apt-get update
$ sudo apt-get install sun-java6-jdk
根據提示,一步一步地安裝,記得安裝的時候,會在終端中出來一個提示框,類似於許可協議的,下面有個確定,但就是點不上,按一下Tab鍵就選中了,直接確定就會安裝,這樣就安裝好了JDK,可以在終端中測試一下,運行
$java -version
如果有相應的版本提示信息的話,就表示安裝成功了。
接下來,如果是32位系統的話,在終端中運行
$ sudo apt-get install git-core gnupg flex bison gperf build-essential \
zip curl zlib1g-dev libc6-dev libncurses5-dev x11proto-core-dev \
libx11-dev libreadline6-dev libgl1-mesa-dev tofrodos python-markdown \
libxml2-utils xsltproc
如果是64位,運行
$ sudo apt-get install git-core gnupg flex bison gperf build-essential \
zip curl zlib1g-dev libc6-dev lib32ncurses5-dev ia32-libs \
x11proto-core-dev libx11-dev lib32readline5-dev lib32z-dev \
libgl1-mesa-dev g++-multilib mingw32 tofrodos python-markdown \
libxml2-utils xsltproc
官方推薦用64位的,我當時沒看到,用32位也不會有太大的問題,執行到這步,就已經安裝好了Git和Python,除了JDK,這兩個也是必須的。下面就要准備下載源碼了。。。
第三步:准備下載Android源代碼
接下來需要安裝、初始化和配置Repo工具
-
安裝Repo
首先確保在你的home目錄下面有一個bin目錄,如果沒有的話,執行下面命令:
$ mkdir ~/bin
$ PATH=~/bin:$PATH
然后下載Repo腳本並確保它能夠執行
$ curl https://dl-ssl.google.com/dl/googlesource/git-repo/repo > ~/bin/repo
$ chmod a+x ~/bin/repo
-
初始化配置Repo客戶端
首先創建一個空目錄用來保存工作文件
$ mkdir WORKING_DIRECTORY
$ cd WORKING_DIRECTORY
然后初始化Repo
$ repo init -u https://android.googlesource.com/platform/manifest -b android-4.0.1_r1
第四步:開始下載Androd源文件
$ repo sync
這是一個很漫長的過程,等吧,如果發現屏幕卡住了,沒動了,而且也沒有流量顯示,或者感覺不到在下載,類似於這種
建議中斷一下(按ctrl + z),然后重新執行第三步(repo sync),這時你會看到會有下載信息。第一次執行repo sync的時候,可能會有錯誤提示,記不清楚了,百度一下也會出來,重新運行一下repo sync命令就行了。。。
目前我正在下載中,等吧