reference : http://blog.csdn.net/shenlan18446744/article/details/51490560android
將repo添加進環境變量
下載後將repo複製到/usr/bin目錄下,之因此複製到這個目錄是由於這個目錄自己就在系統環境變量裏面,這樣的話就省去了配置repo環境變量的問題,接着給普通用戶賦對這個文件的執行權限git
chmod a+x /usr/bin/repo
測試repo是否安裝成功
接着在其它非系統環境變量目錄執行repo命令,看是否有這樣的輸出vim
error: repo is not installed. Use "repo init" to install it here.
若是有這樣的輸出就表明repo安裝成功。七牛雲存儲
修改repo
將repo加進系統環境變量以後還要修改一下文件的一下內容,由於默認的repo文件的下載源是googlesource.com,然而這個網址是在牆外的沒法訪問,所以咱們就要把下載源代碼的地址改成國內的,國內的下載Android 源碼的鏡像有不少,常見的有 tsinghua/omap/,這裏咱們使用清華的,由於清華就在筆者附近從網絡連接速度來講都至關快。
修改repo文件衆的REPO_URL 爲網絡
REPO_URL = 'https://aosp.tuna.tsinghua.edu.cn/git-repo'
因爲是repo在/usr/bin目錄下所以在編輯repo文件的時候要在前面加上sudoapp
sudo vim /usr/bin/repo
這是我修改好的repo文件你們能夠直接使用,在使用前記得重命名成repo就能夠了,repo_tsinghua下載地址ide
下載源碼
接着開始下載Android 源碼,這裏我在本身的家目錄建立了一個Android_Source 文件夾來存儲Android源碼。執行下列命令來初始化倉庫測試
repo init -u https://aosp.tuna.tsinghua.edu.cn/platform/manifest -b android-5.1.1_r3
初始化倉庫後,會在Androi_Source 目錄下建立一個.repo的隱藏目錄,進入這個目錄下會發現幾個文件。其中最重要的是manifest.xml,這個文件是個連接文件,這個連接指向manifets目錄下的default.xml,這個清單文件描述了Android 源代碼下全部的project,從底層到應用層,但凡是Android 系統衆用到的這裏面都有,好比咱們知道的在Android原生系統衆的聯繫人應用在這個文件中對應着這兩個projectthis
<project path="packages/apps/Contacts" name="platform/packages/apps/Contacts" /> <project path="packages/apps/ContactsCommon" name="platform/packages/apps/ContactsCommon" />
接着在Android_Source目錄裏下執行下列命令,就開始從清華鏡像下載Android源碼,我在實際下載過程當中出現過網絡狀況不太好的時候,這時候下載會中斷,這時從新執行改命令就能夠了。repo會檢測以前下載好的是否完成,而後接着從上一次中斷處開始下載。就這樣就基本上完成了Andorid源碼的下載,下載完成後大概31G左右,若是不到31G的基本上就是沒下載完,從新執行該命令便可。google
repo sync
查詢下載完成後的文件大小:
那到底何時是下載完成的狀態呢,下載完成後會有這樣的提示:
Fetching projects: 100% (486/486), done.
圖例:
PS. 有的同窗在執行repo init命令的時候可能會出現這樣的提示:
error.GitError: manifests var: *** Please tell me who you are. Run git config --global user.email "you@example.com" git config --global user.name "Your Name" to set your account's default identity. Omit --global to set the identity only in this repository.
這個提示已經很明顯了,大概意思就是git不知道你是誰,須要執行下這兩個命令告訴git就能夠了。
git config --global user.email "you@example.com" git config --global user.name "Your Name"