清華鏡像站 :https://mirrors.tuna.tsinghua.edu.cn/
聲明以下內容轉自:https://www.cnblogs.com/shenchanghui/p/8503623.html
根據教程內容,下載Android源碼。中間也遇到幾個坑。。。以下是下載步驟:
1.打開終端
2.依次輸入以下命令:
mkdir ~/bin
PATH=~/bin:$PATH
curl https://mirrors.tuna.tsinghua.edu.cn/git/git-repo -o ~/bin/repo #使用tuna的git-repo鏡像
chmod a+x ~/bin/repo
3.打開bin文件夾下的repo文件,將
REPO_URL = 'https://gerrit.googlesource.com/git-repo'
改爲
REPO_URL = 'https://mirrors.tuna.tsinghua.edu.cn/git/git-repo'
4.使用每月更新的初始化包。使用方法如下:
wget -c https://mirrors.tuna.tsinghua.edu.cn/aosp-monthly/aosp-latest.tar # 下載初始化包
tar xf aosp-latest.tar
cd aosp# 解壓得到的 aosp工程目錄
# 這時 ls 的話什麼也看不到,因爲只有一個隱藏的 .repo 目錄
repo sync # 正常同步一遍即可得到完整目錄
# 或 repo sync -l 僅checkout代碼
初始化包有40多G,趁着昨晚網速快,電腦下着,自己先去睡覺了,第二天起來已經下好了。
執行最後一行命令結束後,aosp文件夾裏可以看到源碼,這個源碼是最新的(Android P),要其他版本的源碼的話,可以切其他分支。
注意:下的包真的大,我剛開始給虛擬機設50G硬盤,完全不夠用。。。後面直接擴充到150G了。。。(編譯之後也基本滿了。。。)
下載源碼到這裏結束了,接下來是編譯源碼。編譯步驟如下:
1.安裝openjdk1.8
sudo apt-get install openjdk-8-jdk
2.開始編譯
source build/envsetup.sh
lunch aosp_arm-eng
make -j8 #(這裏的數字是根據系統配置來的,比如2核2線程的就可以選擇j4,數字越高編譯越快,前提你的電腦硬件要支持。。。我的電腦剛好是8)
之後就是漫長的編譯期。。。我吃飯回來的時候,顯示編譯失敗了。。。不過當時電腦出了點故障,沒有理會,重啓之後繼續編譯。然後。。。編譯通過了。。。
anyway,編譯通過了,到了開啓模擬器驗證的時候了。。。輸入以下命令打開模擬器:
emulator #退出終端後,第二次進入終端執行該命令會報錯,這是編譯環境的原因,需要再次執行命令 sourcebuild/envsetup.sh;lunchaosp_arm-eng
---
傳統初始化方法
建立工作目錄:
mkdir WORKING_DIRECTORY
cd WORKING_DIRECTORY
初始化倉庫:
repo init -u https://aosp.tuna.tsinghua.edu.cn/platform/manifest
如果提示無法連接到 gerrit.googlesource.com,請參照git-repo的幫助頁面的更新一節。
如果需要某個特定的 Android 版本(列表):
repo init -u https://aosp.tuna.tsinghua.edu.cn/platform/manifest -b android-4.0.1_r1
同步源碼樹(以後只需執行這條命令來同步):
repo sync