Android源碼下載
為了能夠順利的下載Android的源碼,同時也為了避免在網絡上再次搜尋如何下載源碼的麻煩,我把下載過程記錄在這篇文檔中。
官網中也有詳細的介紹:
http://source.android.com/source/downloading.html
1.環境設置問題
系統:Ubuntu 12.04 LTS 64bit
所需工具:curl, git-core, repo(repo的問題在后面有講到)...
2.硬盤空間問題
首先,在下載源碼之前,最首要的事請就是保證有足夠的硬盤空間來存放代碼。一般來說,從網絡上下好的源碼起碼有20G以上。因此,我給自己的硬盤留了一塊40G的分區來保存源碼。
3.依賴問題
其實下載源碼只用得到curl,git-core和repo。以下的命令是用來編譯Android的。大家可以參考一下。
$ sudo apt-get install git gnupg flex bison gperf build-essential \
zip curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \
libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \
libgl1-mesa-dev g++-multilib mingw32 tofrodos \
python-markdown libxml2-utils xsltproc zlib1g-dev:i386
$ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gnu/libGL.so
如果只想下載源碼,執行以下命令就行了:
$sudo apt-get install git git-core curl
但是,我們仍缺少repo這個用python寫的腳本。官網上的方法好像不太適用:
$mkdir ~/bin
$ curl http://commondatastorage.googleapis.com/git-repo-downloads/repo > ~/bin/repo
$chmod a+x ~/bin/repo
推薦適用下述方法來獲取repo:
$mkdir ~/bin
$curl "http://php.webtutor.pl/en/wp-content/uploads/2011/09/repo" > ~/bin/repo
$chmod a+x ~/bin/repo
最后設置一下PATH:
$PATH=~/bin/:$PATH
3.選擇分支
下載Android的源碼之前,你要打算一下該下載哪個版本才行。這里我選擇了最新的4.4.2,也就是代號為KOT49H的android-4.4.2_r1。
具體詳情可以去官網查看一下,網址如下:(在Source Code Tags and Builds這一塊)
http://source.android.com/source/build-numbers.html
4.一些相關設置
為了避免下載源碼時會出現一些奇怪的錯誤,我們還應該修改一下/etc/hosts。
$sudo gedit /etc/hosts
在/etc/hosts中,添加一下內容:
### Google servers
74.125.31.82 www.googlesource.com
74.125.31.82 android.googlesource.com
203.208.46.172 cache.pack.google.com
59.24.3.173 cache.pack.google.com
5.初始化repo
下載源碼時,我們就要用repo了。
先選擇一個存放源碼的目錄,比如/home/user/android。那么使用一下的命令:
$mkdir ~/android
$cd ~/android
然后運行repo:
$ repo init -u https://android.googlesource.com/platform/manifest
到后面,repo會要求你輸入你的用戶名並確認即可。此后,repo會保存一些相關信息到.repo文件夾中,源碼下完之前千萬不要把它刪掉了。
之后在運行一下repo:
$repo init -u https://android.googlesource.com/platform/manifest -b android-4.4.2_r1
其中參數 -b 后面接你要下載的Android版本即可,如-b android-4.4.2_r1
6.一個小改動
當所有設置都完成之后,我們還應當修改一個文件。這個文件就是.repo/manifest.xml。
$gedit .repo/manifest.xml
打開文件之后,找到fetch=".."(在文件中的第5行)這一項,將其修改為fetch="https://android.googlesource.com"
7.開始下載源碼
一切都設置好了之后,且保證沒有問題后,我們就可以開始下載源碼了。命令如下:
$repo sync
8.下載中斷問題
下載的過程中可能會出現中斷現象,只要再次執行:
$repo sync
9.總結
下載工具安裝:
$sudo apt-get install git git-core curl
repo的獲取:
$mkdir ~/bin
$curl "http://php.webtutor.pl/en/wp-content/uploads/2011/09/repo" > ~/bin/repo
$chmod a+x ~/bin/repo
設置PATH:
$PATH=~/bin/:$PATH
初始化repo:
$repo init -u https://android.googlesource.com/platform/manifest
$repo init -u https://android.googlesource.com/platform/manifest -b android-4.4.2_r1
將.repo/manifest.xml中的fetch=”..”改為fetch="https://android.googlesource.com"
下載及下載中斷都使用:
$repo sync
