1.下載repo工具
mkdir ~/bin
PATH=~/bin:$PATH
curl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo
chmod a+x ~/bin/repo
2.修改repo中的下載源
因?yàn)間oogle官方網(wǎng)站在國內(nèi)無法訪問,所以將下載源改為清華大學(xué)下載源,vim ~/bin/repo 將REPO_URL替換成:
REPO_URL='https://gerrit-google.tuna.tsinghua.edu.cn/git-repo'
3.同步源代碼
repo init -u https://aosp.tuna.tsinghua.edu.cn/platform/manifest -b 分支名
repo sync -j4
分支名可以從https://source.android.com/source/build-numbers#source-code-tags-and-builds 該網(wǎng)站獲取,j4表示并發(fā)數(shù)
4.源代碼目錄含義

2017-07-20 21:40:18屏幕截圖.png
| 目錄名 | 描述 |
|---|---|
| abi | 應(yīng)用程序二進(jìn)制接口 |
| bionic | C/C++運(yùn)行時庫,在NDK程序中很大一部分調(diào)用就是這里的程序 |
| bootable | 用于Android裝載和啟動程序,其中就包括bootloader和recovery。bootloader是Android中唯一在LInux內(nèi)核之前執(zhí)行的程序。通過這段程序可以初始化硬件,建立內(nèi)存控件的映射圖等,總之,bootloader就是為LInux內(nèi)核準(zhǔn)備合適的運(yùn)行環(huán)境。 |
| build | 用于編譯Android源代碼以及建議system.img,ramdisk.img等文件的工具 |
| cts | 用于兼容性測試的工具 |
| dalvik | Dalvik虛擬機(jī)的源代碼 |
| development | 高層的開發(fā)和調(diào)試工具 |
| device | 與設(shè)備相關(guān)的代碼 |
| docs | 包含與Android源代碼項目的文檔和工具,如Dalvik虛擬機(jī)格式文檔等 |
| external | 擴(kuò)展工具的源代碼 |
| framworks | Android框架層源代碼。也就是Android SDK的源代碼 |
| hardware | 硬件層接口和庫 |
| libcore | Java核心庫 |
| ndk | NDK相關(guān)的源代碼 |
| packages | 與Android系統(tǒng)一同發(fā)布的應(yīng)用程序的源代碼 |
| prebuilts | Android在各種平臺下編譯之前要使用的工具 |
| sdk | 在開發(fā)環(huán)境中使用的工具,如ddms,draw9path,sdkmanager等 |
| system | Android的基本系統(tǒng) |
3.出現(xiàn)的錯誤

image.png
運(yùn)行$ repo sync -f –j4 命令解決
參考文獻(xiàn)
http://www.itdecent.cn/p/aeaceda41798
http://blog.csdn.net/zxcjie/article/details/51221299