Android 源碼下載


【2013.08.03 tonyfield】

一直想嘗試android源碼的編譯,這兩天正好海思代碼的編譯也需要ubuntu環境,於是安裝了ubuntu 12.04,安裝時選了語言為中文,因此下面很多狀態及錯誤報告都是中文了,另外分配了4G swap分區,200G ext4主分區。因為聽說android源碼編譯需要100G空間,加上考慮磁盤余量作為工具安裝及代碼備份,給了200G,反正現在誰都不缺這點兒硬盤空間。

關於源碼的下載官方文檔是 http://source.android.com/source/downloading.html#initializing-a-repo-client

1.  下載 些工具,在編譯之前 git-core 和 curl 是必需的

$ sudo apt-get install git-core

$ sudo apt-get install curl

2  安裝java6

  注意:openjdk不推薦使用,編譯中可能造成混淆及功能缺失。通過以下命令卸載openjdk,

$  sudo apt-get purge openjdk-\* icedtea-\* icedtea6-\*

 

2.1 在/etc/apt/sources.list 末尾加上如下行:

###for install Java6
deb http://ppa.launchpad.net/ferramroberto/java/ubuntu natty main

2.2 添加partner源

 

sudo add-apt-repository "deb http://archive.canonical.com/ubuntu maverick partner"

2.3 更新系統

 

$ sudo apt-get update

2.3 安裝 java6-jre

 

$ sudo apt-get install sun-java6-jre sun-java6-plugin

2.4 安裝 java6-jdk

 

 

$ sudo apt-get install sun-java6-jdk sun-java6-plugin


2.5 察看版本

 

 

$ java -version

顯示信息如下:

 

java version "1.6.0_26"
Java(TM) SE Runtime Environment (build 1.6.0_26-b03)
Java HotSpot(TM) Server VM (build 20.1-b02, mixed mode)

3. 執行curl

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

就報告網絡不可達,用了類似下面的代理設置后, curl加上 -v 參數啟用代理功能,還是不能連接。

 

 

$ export HTTP_PROXY=116.228.55.184:80;

 

 

$ curl -v https://dl-ssl.google.com/dl/googlesource/git-repo/repo > ~/bin/repo

 

可以到 http://code.google.com/p/git-repo/downloads/list 下載一個保存為 ~/bin/repo

或者使用下面命令,具體版本號參考前面網頁中顯示的最新版本號。

 

curl http://git-repo.googlecode.com/files/repo-1.19 > ~/bin/repo

修改執行權限
chmod a+x ~/bin/repo

 

4. 建立並進入android源代碼目錄

$ mkdir <android源代碼目錄>
$ cd <android源代碼目錄>

 

5. 執行 repo init 准備下載最新版本android代碼,用下面命令准備下載主干(main / trunk)版本

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

或是用以下命令下載指定分支(branch)

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

 如果 repo沒有找到 branch 參數指出分支版本,就會輸出大量信息,其中有可以下載分支的列表,由於內容過長,請參考http://blog.csdn.net/tonyfield/article/details/9734031

實際操作中,獲得錯誤報告:fatal: Cannot get https://gerrit.googlesource.com/git-repo/clone.bundle,

這個地址和你看到的可能不同,但肯定是 ~/bin/repo 第5行或第6行REPO_URL 所表示的網址。

stockoverflow上有貼提及是代理環境變量造成的問題,想到前面嘗試過設置 HTTP_PROXY,用下面的指令清除,HTTPS_PROXY 存在的話也要清除 HTTPS_PROXY。

unset HTTP_PROXY

unset HTTPS_PROXY

然后repo init成功。。。,

提示輸入你的姓名 及 郵件地址,你想要使用Gerrit code-review 工具的話就要用你申請的 Google賬戶使用的郵件地址,沒有的話去申請一個,不用花多少時間。

Your Name  [XXXXXX]: XXXXXX

6. repo 信息下載后,用 “repo sync”命令將真正的Android代碼同步到當前工作目錄顯示下載狀態類似下面

 

 

tony@tony-E1230:~/android-src-02$ repo sync
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0  % Total    % Received % Xferd  Average  Spee d %   TiTmote a  l T im e       %Ti meR  eCucrreenitv
 e d  %   X f  e  r d    A ve  r  a  g  e     S  p  e  e Ddlo ad    UpTloiadm  e T ot al     STpienmt e    L ef t   S peTedi
    0C  u  r 0r e  n 0t  
    0       0        0          0          0  -- :- - :- -  -- :- -: --  - -: -- :- -        0 Dload  Upload   Total   Spent    Left  Speed
100   244    0   244    0     0   1930      0 --:--:-- --:--:-- --:--:--  3641
100   259    0   259    0     0   1749      0 --:--:-- --:--:-- --:--:--  2846
100   243    0   243    0     0   1194      0 --:--:-- --:--:-- --:--:--  1630
后面還有不少。。。。


。。。。2個多小時后。。。。下載完畢, 文件304789項,7.6G,這個數字按下載版本不同應該會有差異,體量上基本就是這樣。

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM