Android AOSP基礎(二)是時候下載Android9.0原始碼了

劉望舒發表於2019-05-14

本文首發於微信公眾號「劉望舒」

相關係列文章
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
複製程式碼

可能會報如下的錯誤:

Android AOSP基礎(二)是時候下載Android9.0原始碼了

這個問題是有另外一個程式正在執行,導致資源被鎖不可用,輸入如下命令進行解決:

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

Android AOSP基礎(二)是時候下載Android9.0原始碼了

感謝: mirrors.tuna.tsinghua.edu.cn/help/AOSP/
blog.csdn.net/counsellor/…
wuxiaolong.me/2018/07/07/…
github.com/tuna/issues…


分享大前端、Android、Java等技術,助力5萬程式設計師成長進階。

Android AOSP基礎(二)是時候下載Android9.0原始碼了

相關文章