Ubuntu 8.04下編譯Android源碼全過程(1)

一、獲取Android源代碼

Git是Linux Torvalds(Linux之父)爲了幫助管理Linux內核開發而開發的一個開放源碼的分佈式版本控制軟件,它不同於Subversion、CVS這樣的集中式版本控制系統。在集中式版本控制系統中只有一個倉庫(Repository),許多個工作目錄(Working Copy),而在Git這樣的分佈式版本控制系統中(其他主要的分佈式版本控制系統還有BitKeeper、Mercurial、GNU Arch、Bazaar、Darcs、SVK、Monotone等),每一個工作目錄都包含一個完整倉庫,它們支持離線工作,本地提交可以稍後提交到服務器上。

因爲Android是由Kernel、Dalvik、Bionic、Prebuilt、build等多個項目組成,如果我們分別使用Git來逐個獲取顯得很麻煩,所以Android項目編寫了一個名爲Repo的Python的腳本來統一管理這些項目的倉庫,使得項目的獲取更加簡單。

在Ubuntu 8.04上安裝Git只需要設定正確的更新源,然後使用apt-get就可以了,apt-get是一條Linux命令,主要用於自動從互聯網的軟件倉庫中搜索、安裝、升級、卸載軟件或操作系統。

apt-get命令一般需要root權限執行,所以一般跟着sudo命令。

sudo apt-get itall git-core curl

這條命令會從互聯網的軟件倉庫中安裝git-core和curl。

其中curl是一個利用URL語法在命令行方式下工作的文件傳輸工具,它支持很多協議,包括FTP、FT、HTTP、HTT、TELENT等,我們需要安裝它從網絡上獲取Repo腳本文件。

curl http://android.git.kernel.org/repo >~/bin/repo

這句命令會下載repo腳本文件到當前主目錄的/bin目錄下,並保存在文件repo中。

最後我們需要給repo文件可執行權限

chmod a+x ~/bin/repo

接下來我們就可以利用repo腳本和Git、curl軟件獲取Android的源代碼了:)

首先建一個目錄,比如~/android。

然後使用下面命令獲取源碼:

repo init –u git://android.git.kernel.org/platform/manifest.git

這個過程會持續很長的時間(筆者下載了一天),下載完畢後會看到repo initialized in /android這樣的提示,說明本地的版本庫已經初始化完畢,並且包含了當前最新的sourcecode。

如果我們想拿某個分支版本的代碼,而不是主線代碼,需要使用-b參數指定branch的名字,比如:

repo init –u git://android.git.kernel.org/platform/manifest.git –b cupcake

如果我們只是想獲取某一個project的代碼,比如kernel/common,就不需要repo腳本了,直接使用Git工具即可,如果仔細研究repo腳本會發現,repo腳本其實就是組織Git工具去獲取各個Project並把它們組織到同一個項目Android內。

git clone git://android.git.kernel.org/kernel/common.git

我們上面使用repo腳本獲取了各個項目,那麼接下來就需要把整個Android代碼樹同步到本地,如下:

repo sync project1 project2 …

筆者使用repo sync命令直接同步全部項目到本地。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章