Ubuntu下擷取android源碼

來源:互聯網
上載者:User

        一直在從事android的自動化測試架構的編寫。慢慢的也對android底層的架構開始感興趣,心血來潮打算研究下android系統底層的架構,所以玩玩android源碼的下載。

        本人之前對Linux不是很瞭解,知道的比較少。這篇文章也是在自己下載源碼的工程中,一點一點的寫出來的,其中參考了很多文章。在這篇文章中會一一列出出處的,供給大家思考和研究。我採用的方式是,在windows7下,用VMWare裝Ubuntu10.10進行下載的。

        一、準備工作

        1.VMWare和Ubuntu10.10的下載

VMWare的很多,到網上一搜一大堆,這裡就不給地址了。下面給一個Ubuntu10.10的。

http://www.cnbeta.com/articles/124063.htm

下載好鏡像檔案後,在VMWare中就可以建立虛擬機器 了。這裡我們建立好的Ubuntu虛擬機器,還是有點問題的,具體的問題我們在後面再說。輸入你建立Ubuntu時的密碼後進入Ubuntu。

       2.安裝JDK

對於安裝jdk有兩種方法,一種是直接用命令

$ sudo add-apt-repository "deb http://archive.canonical.com/ lucid partner"$ sudo apt-get update$ sudo apt-get install sun-java6-jdk

代碼中的$時Ubuntu中的提示符,不要將這個符號一起拷貝到終端中。

然而這種方法不適合初學中,再加上後面的配置環境變數什麼的,就會給繞暈的。所以這裡推薦採用手動的方法,進行安裝,然後配置環境變數。下面推薦一篇適合初學者手動安裝及設定環境變數的文章

http://weixiaolu.iteye.com/blog/1401786

該文章唯一不足的就是沒有給出jdk的,你可能會說到網上一搜就有了。其實不然,網上很多時候搜尋到的都是tar.gz格式的而且大都是1.7的安裝方面會有不同,而這些不同對初學者來說是致命的。
經過我的搜尋,找到了一個和上面連結中說的格式很像的一個jdk官方的

http://www.oracle.com/technetwork/java/javase/downloads/jdk6u38-downloads-1877406.html

要注意的是,檔案名稱是不同的,所以在配置環境變數的時候一定要注意把名字改過來。否則會安裝失敗的。

       二、初始化下載環境

       1.ubuntu所在的盤剩餘的容量要儘可能的大,最少也要6-10G,這還只是下載,若是編譯的話會在20G左右。

       2.安裝git

在案頭狀態下按快速鍵ALT+CTRL+T進入到終端,輸入下面的命令

$ 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

執行這個命令之前最好,先執行下這個命令

$sudo apt-get update

來更新能夠可用的源,執行之後如果還是提示404錯誤,說明你的/etc/apt/sources.list檔案裡面的源不正確,而這個ubuntu10.10裡面大部分都會有這個問題。可以將/etc/apt/sources.list裡面的源用下面的源來替換,來解決這個問題

 deb http://ubuntu.srt.cn/ubuntu/ natty main universe restricted multiverse  deb-src http://ubuntu.srt.cn/ubuntu/ natty main universe restricted multiverse  deb http://ubuntu.srt.cn/ubuntu/ natty-security universe main multiverse restricted  deb-src http://ubuntu.srt.cn/ubuntu/ natty-security universe main multiverse restricted  deb http://ubuntu.srt.cn/ubuntu/ natty-updates universe main multiverse restricted  deb http://ubuntu.srt.cn/ubuntu/ natty-proposed universe main multiverse restricted  deb-src http://ubuntu.srt.cn/ubuntu/ natty-proposed universe main multiverse restricted  deb http://ubuntu.srt.cn/ubuntu/ natty-backports universe main multiverse restricted  deb-src http://ubuntu.srt.cn/ubuntu/ natty-backports universe main multiverse restricted  deb-src http://ubuntu.srt.cn/ubuntu/ natty-updates universe main multiverse restricted

這裡可以在終端輸入下面的命令來編輯/etc/apt/sources.list這個檔案

$sudo gedit /etc/apt/sources.list

輸入這個命令後,會源檔案會以一個類似於記事本的形式開啟,進入到圖形化的編輯介面,這時把裡面的源用我上面給的源替換下就可以了。做這個替換動作之前記得備份下sources.list檔案一面出現差錯。

輸入下面的命令看是否安裝成功

$git --version

若是出現了git的版本號碼說明安裝成功了。

    3.安裝及初始化repo

    (1)確保home介面有個bin檔案夾,若是沒有,則可以 在終端輸入下面的命令

$ mkdir ~/bin$ PATH=~/bin:$PATH 

    (2)下載repo指令碼,並確保它能夠執行,及賦給它執行的許可權

$ curl https://dl-ssl.google.com/dl/googlesource/git-repo/repo > ~/bin/repo$ chmod a+x ~/bin/repo 

    (3)建立android源碼存放的路徑,並進入到該路徑中

$mkdir Android$cd Android

     (4)初始化repo

$ repo init -u https://android.googlesource.com/platform/manifest -b android-4.0.1_r1

      三、下載android源碼

      1.執行下面的命令下載源碼

$repo sync

      2.下載的時間會很漫長,而且中間可能會出現斷開。我的現在已經斷開三次了,悲劇。所以慢慢的下載吧。

中間如果斷開了,就再執行下第一步就可以了。下載完成之後,將繼續進行編譯,敬請期待。

參考文章:

(1)http://www.cnblogs.com/and_he/archive/2012/01/04/2312027.html

在此,對該博主表示深深的感謝。裡面的方法很好用,不像某些不負責任的作者直接的轉載他人的博文,都不加驗證以至於有些時候轉寄的都是錯誤的。對此種人表示鄙視。

 (2)官方文檔

http://source.android.com/source/initializing.html

(3)有關sources.list中源的列表
http://blog.csdn.net/fly542/article/details/6758342
(4)ubuntu中jdk的配置
http://weixiaolu.iteye.com/blog/1401786

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.