本文首發於微信公衆號「劉望舒」html
相關係列文章
Android系統啓動系列
應用進程啓動系列
Android深刻四大組件系列
Android深刻理解Context系列
Android深刻理解JNI系列
Android解析WindowManager
Android解析WMS系列
Android解析AMS系列
Android包管理機制系列
Android輸入系統系列前端
這篇文章咱們來學習如何下載AOSP 源碼,若是你尚未Linux 環境,請查看Android AOSP基礎(一)VirtualBox 安裝 Ubuntu這篇文章,另外若是你不須要編譯源碼,或者不須要最新的源碼,能夠直接從百度網盤:pan.baidu.com/s/1ngsZs 將源碼下載下來。python
AOSP(Android Open Source Project)是Google開放的Android 開源項目,中文官網爲:source.android.google.cn/。 AOSP通俗來說就是一個Android系統源碼項目,經過它能夠定製 Android 操做系統,國內手機廠商都是在此基礎上開發的定製系統。由於牆的緣故,若是沒法鏈接谷歌服務器獲取AOSP源碼,能夠從 清華大學鏡像站或者 中科大鏡像。本篇文章以清華大學鏡像站爲例。android
Android源碼包含數百個git庫,光是下載這麼多的git庫就是一項繁重的任務,因此Google開發了repo,它是用於管理Android版本庫的一個工具,使用了Python對git進行了必定的封裝,簡化了對多個Git版本庫的管理。 安裝 Git,在Ubuntu輸入以下命令:git
sudo apt-get install git
複製代碼
可能會報以下的錯誤: 程序員
這個問題是有另一個程序正在運行,致使資源被鎖不可用,輸入以下命令進行解決:github
sudo rm /var/cache/apt/archives/lock
sudo rm /var/lib/dpkg/lock
複製代碼
接下來建立bin,並加入到PATH中。ubuntu
mkdir ~/bin
PATH=~/bin:$PATH
複製代碼
安裝curl庫:bash
sudo apt-get install curl
複製代碼
下載repo並設置權限:服務器
curl https://mirrors.tuna.tsinghua.edu.cn/git/git-repo > ~/bin/repo
chmod a+x ~/bin/repo
複製代碼
最後安裝python,repo初始化時會用到:
sudo apt-get install python
複製代碼
重啓虛擬機後,開始下載源碼。
創建工做目錄 :
mkdir aosp
cd aosp
複製代碼
repo的運行過程當中會嘗試訪問官方的git源更新本身,若是想使用tuna的鏡像源進行更新,能夠將以下內容複製到你的~/.bashrc裏:
export REPO_URL='https://mirrors.tuna.tsinghua.edu.cn/git/git-repo/'
複製代碼
設置身份,添加本身的郵箱和姓名:
git config --global user.email "piratemorgen@gmail.com"
git config --global user.name "piratemorgen"
複製代碼
初始化倉庫:
repo init -u https://aosp.tuna.tsinghua.edu.cn/platform/manifest
複製代碼
初始化並指定版本:
repo init -u https://aosp.tuna.tsinghua.edu.cn/platform/manifest -b android-9.0.0_r8
複製代碼
同步源碼:
repo sync
複製代碼
源碼下載完成後,看到下面的信息能夠說明下載成功。整個源碼的大小爲36.5 g
感謝: mirrors.tuna.tsinghua.edu.cn/help/AOSP/
blog.csdn.net/counsellor/…
wuxiaolong.me/2018/07/07/…
github.com/tuna/issues…
分享大前端、Android、Java等技術,助力5萬程序員成長進階。