Ubuntu編譯運行AOSP


安裝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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM