本文首發於微信公眾號「劉望舒」
相關係列文章
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 將原始碼下載下來。
1.關於AOSP
AOSP(Android Open Source Project)是Google開放的Android 開源專案,中文官網為:source.android.google.cn/。 AOSP通俗來講就是一個Android系統原始碼專案,通過它可以定製 Android 作業系統,國內手機廠商都是在此基礎上開發的定製系統。因為牆的緣故,如果無法連線谷歌伺服器獲取AOSP原始碼,可以從 清華大學映象站或者 中科大映象。本篇文章以清華大學映象站為例。
2. 下載 repo工具
Android原始碼包含數百個git庫,光是下載這麼多的git庫就是一項繁重的任務,所以Google開發了repo,它是用於管理Android版本庫的一個工具,使用了Python對git進行了一定的封裝,簡化了對多個Git版本庫的管理。 安裝 Git,在Ubuntu輸入如下命令:
sudo apt-get install git
複製程式碼
可能會報如下的錯誤:
這個問題是有另外一個程式正在執行,導致資源被鎖不可用,輸入如下命令進行解決:
sudo rm /var/cache/apt/archives/lock
sudo rm /var/lib/dpkg/lock
複製程式碼
接下來建立bin,並加入到PATH中。
mkdir ~/bin
PATH=~/bin:$PATH
複製程式碼
安裝curl庫:
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
複製程式碼
重啟虛擬機器後,開始下載原始碼。
3. 下載原始碼
建立工作目錄 :
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萬程式設計師成長進階。