『BATcoder』是時候下載Android11系統源碼和內核源碼了~

本文首發於微信公衆號「後廠技術官」html

這是BATcoder的第四篇,BATcoder是Android進階三部曲的番外篇,會對Android進階三部曲的內容進行拓展和升級,會以視頻的形式分享給你們。至於爲啥叫BATcoder,這是由於我但願你們看了個人技術視頻能進入本身中意的大廠。前端

視頻版本

更多細節和內容見視頻:python

B站地址: www.bilibili.com/video/BV19f…android

我的博客地址: liuwangshu.cn/batcoder/ao…git

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輸入以下命令:bash

sudo apt-get install git
複製代碼

可能會報以下的錯誤: VZRddU.png服務器

這個問題是有另一個程序正在運行,致使資源被鎖不可用,輸入以下命令進行解決:微信

sudo rm /var/cache/apt/archives/lock
sudo rm /var/lib/dpkg/lock
複製代碼

接下來建立bin,並加入到PATH中。markdown

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-11.0.0_r1
複製代碼

同步源碼:

repo sync
複製代碼

源碼下載完成後,看到下面的信息能夠說明下載成功。9.0整個源碼的大小爲36.5G,11.0源碼的大小爲59.1G

VZRwoF.png

若是你以爲很麻煩,也能夠直接去我分享的一個百度網盤去下載AOSP的源碼,版本的範圍從1.6到11.0。裏面的源碼是精簡版本的,不可以進行編譯。 連接:pan.baidu.com/s/1cDHDwVNh… 提取碼:bza8

4. 下載內核源碼

AOSP源碼中並不包括內核源碼,須要單獨下載,內核源碼有不少版本,好比common是通用的Linux內核,msm是用於使用高通MSM芯片的Android設備,goldfish是用於Android模擬器的內核源碼,這裏以goldfish爲例。

和下載AOSP源碼同樣,咱們須要先創建工做目錄 :

mkdir kernel
cd kernel
複製代碼

使用清華的鏡像:

git clone https://aosp.tuna.tsinghua.edu.cn/kernel/goldfish.git
複製代碼

MEY5uD.md.png

這時kernel目錄中會生成一個goldfish文件夾,進入goldfish目錄並使用git命令。

cd goldfish
git branch -a
複製代碼

這時會列出有哪些內核的版本分支能夠下載。

MEYoHH.png

這裏選擇下載goldfish 3.4版本。

git checkout remotes/origin/android-goldfish-3.4
複製代碼

更多細節和內容見視頻:

B站地址: www.bilibili.com/video/BV19f…

我的博客地址: liuwangshu.cn/batcoder/ao…

做者簡介:劉望舒,騰訊雲最具價值專家,著有暢銷書《Android進階之光》《Android進階解密》《Android進階指北》,蟬聯四屆電子工業出版社年度優秀做者,前華爲面試官,現大廠技術負責人,谷歌開發者社區特邀講師。

也歡迎你們關注個人公號 會分享大前端、Java相關的技術。

相關文章
相關標籤/搜索