安裝repo工具
直接下載https://storage.googleapis.com/git-repo-downloads/repo
復制到~/bin/目錄
更改權限chmod a+x ~/bin/repo
添加命令PATH=~/bin:$PATH使repo可在任意目錄執行
也可以直接使用命令
mkdir ~/bin
PATH=~/bin:$PATH
curl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo
chmod a+x ~/bin/repo
之后repo的運行過程中會嘗試訪問官方的git源更新自己,一般無法正常訪問,如果想使用tuna的鏡像源進行更新,要將如下內容復制到你的~/.bashrc里
export REPO_URL='https://mirrors.tuna.tsinghua.edu.cn/git/git-repo'
然后重啟終端模擬器,重啟后還需要再次執行 PATH=~/bin:$PATH,否則找不到repo
看我執行過程
unix@linux:~/下載$ sudo mv repo ~/bin/repo
unix@linux:~/下載$ cd ~/bin/
unix@linux:~/bin$ ls
repo
unix@linux:~/bin$ sudo chmod a+x ~/bin/repo
unix@linux:~/bin$ ls
repo
unix@linux:~/bin$ export REPO_URL='https://mirrors.tuna.tsinghua.edu.cn/git/git-repo'
unix@linux:~/bin$ whereis python3
python3: /usr/bin/python3.6m /usr/bin/python3 /usr/bin/python3.6 /usr/lib/python3.7 /usr/lib/python3.8 /usr/lib/python3 /usr/lib/python3.6 /etc/python3 /etc/python3.6 /usr/local/lib/python3.6 /usr/include/python3.6m /usr/share/python3 /usr/share/man/man1/python3.1.gz
unix@linux:~/bin$ python3
Python 3.6.9 (default, Dec 8 2021, 21:08:43)
[GCC 8.4.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> exit()
unix@linux:~/bin$ sudo ln -s /usr/bin/python3 /usr/bin/python
unix@linux:~/bin$ cd ..
unix@linux:~$ ls
bin 公共的 模板 視頻 圖片 文檔 下載 音樂 桌面
unix@linux:~$ mkdir aosp
unix@linux:~$ cd aosp/
unix@linux:~/aosp$ repo
repo sync 遇到的問題
問題一 /usr/bin/env: ‘python’: No such file or directory
解決方法:找到 python的位置,為其創建符號連接
//查找python3的安裝位置,默認會安裝python3
whereis python3
//為其創建符號連接
sudo ln -s /usr/bin/python3 /usr/bin/python
問題二 repo: error: "git" is not available
repo: error: "git" is not available
repo: error: [Errno 2] No such file or directory: 'git': 'git'
Please make sure git is installed and in your path.
解決方法:安裝 git
sudo apt-get install git -y
問題三 info: A new version of repo is available
info: A new version of repo is available
warning: repo is not tracking a remote branch, so it will not receive updates
repo reset: error: Entry 'command.py' not uptodate. Cannot merge.
fatal: Could not reset index file to revision 'v2.17.1^0'.
解決方法:根據提示是文件 command.py 沒有更新,因此更新一下此文件
//找到該文件目錄
find . -name command.py
//進入到上一個命令找到的目錄下
cd .repo/repo
//更新文件
git pull
//回到aosp目錄
cd ../..
選擇對應的分支並拉出代碼
-b參數是選擇對應的分支,可以參考https://source.android.com/setup/start/build-numbers,這里我選擇pixel3手機支持的android9
repo init -u https://aosp.tuna.tsinghua.edu.cn/platform/manifest -b android-9.0.0_r11
repo sync
也可以輸入以下命令,查看可切換分支
cd .repo/manifests
git branch -a | cut -d / -f 3