Loading

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
posted @   这个世界太乱  阅读(722)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】
点击右上角即可分享
微信分享提示