ubuntu 22.04 编译 aosp 13 源码

执行 sudo apt install curl

test@test-Lenovo:~$ mkdir ~/bin

test@test-Lenovo:~ PATH=\~/bin:PATH

test@test-Lenovo:~$ curl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo

test@test-Lenovo:~$ chmod a+x ~/bin/repo

test@test-Lenovo:~$ mkdir aosp

test@test-Lenovo:~$ cd aosp/

test@test-Lenovo:~/aosp$ repo init -u https://mirrors.tuna.tsinghua.edu.cn/git/AOSP/platform/manifest

/usr/bin/env: 'python': No such file or directory

5.python3 had installed,so should link:

test@test-Lenovo:~$ cd /usr/bin/

test@test-Lenovo:/usr/bin$ ls -l | grep python

lrwxrwxrwx 1 root root 23 7月 22 03:07 pdb3.8 -> ../lib/python3.8/pdb.py

lrwxrwxrwx 1 root root 31 7月 22 03:07 py3versions -> ../share/python3/py3versions.py

lrwxrwxrwx 1 root root 9 7月 22 03:07 python3 -> python3.8

-rwxr-xr-x 1 root root 5490352 6月 2 18:49 python3.8

-rwxr-xr-x 1 root root 384 3月 28 2020 python3-futurize

-rwxr-xr-x 1 root root 388 3月 28 2020 python3-pasteurize

test@test-Lenovo:/usr/bin$ sudo ln -s python3 python

test@test-Lenovo:/usr/bin$ ls -l | grep python

lrwxrwxrwx 1 root root 23 7月 22 03:07 pdb3.8 -> ../lib/python3.8/pdb.py

lrwxrwxrwx 1 root root 31 7月 22 03:07 py3versions -> ../share/python3/py3versions.py

lrwxrwxrwx 1 root root 7 11月 15 22:53 python -> python3

lrwxrwxrwx 1 root root 9 7月 22 03:07 python3 -> python3.8

-rwxr-xr-x 1 root root 5490352 6月 2 18:49 python3.8

-rwxr-xr-x 1 root root 384 3月 28 2020 python3-futurize

-rwxr-xr-x 1 root root 388 3月 28 2020 python3-pasteurize

test@test-Lenovo:~/aosp$ repo init -u https://mirrors.tuna.tsinghua.edu.cn/git/AOSP/platform/manifest

repo: error: "git" is not available

repo: error: [Errno 2] No such file or directory: 'git'

Please make sure git is installed and in your path.

test@test-Lenovo:~/aosp$ sudo apt-get install git

test@test-Lenovo:~/aosp$ repo init -u https://mirrors.tuna.tsinghua.edu.cn/git/AOSP/platform/manifest

Downloading Repo source from https://gerrit.googlesource.com/git-repo

repo的运行过程中会尝试访问官方的git源(errit.googlesource.com)更新自己,如果想使用tuna的镜像源进行更新,可以将如下内容复制到你的~/.bashrc里

export REPO_URL='https://mirrors.tuna.tsinghua.edu.cn/git/git-repo'

test@test-Lenovo:~/aosp$ vi ~/.bashrc

test@test-Lenovo:~/aosp$ sudo apt-get install vim

test@test-Lenovo:~/aosp$ source ~/.bashrc

test@test-Lenovo:~/aosp$ repo init -u https://mirrors.tuna.tsinghua.edu.cn/git/AOSP/platform/manifest

Downloading Repo source from https://mirrors.tuna.tsinghua.edu.cn/git/git-repo

fatal: cannot make /home/test/aosp/.repo/repo directory: File exists

fatal: cloning the git-repo repository failed, will remove '.repo/repo'

test@test-Lenovo:~/aosp$ rm .repo/ -rf

test@test-Lenovo:~/aosp$ repo init -u https://mirrors.tuna.tsinghua.edu.cn/git/AOSP/platform/manifest

Downloading Repo source from https://mirrors.tuna.tsinghua.edu.cn/git/git-repo

fatal: unable to access 'https://mirrors.tuna.tsinghua.edu.cn/git/git-repo/': server certificate verification failed. CAfile: none CRLfile: none

test@test-Lenovo:~/aosp$ git config --global http.sslverify false

test@test-Lenovo:~/aosp$ git config --global user.email "test@example.com"

test@test-Lenovo:~/aosp$ git config --global user.name "test"

test@test-Lenovo:~/aosp$ repo init -u https://mirrors.tuna.tsinghua.edu.cn/git/AOSP/platform/manifest

repo has been initialized in /home/test/aosp

test@test-Lenovo:~/aosp$ repo sync

9.install java jdk:

执行 sudo apt-get install openjdk-8-jdk

10.install all libs:

sudo apt-get install libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-dev

sudo apt-get install -y git flex bison gperf build-essential libncurses5-dev:i386

sudo apt-get install tofrodos python-markdown libxml2-utils xsltproc zlib1g-dev:i386

sudo apt-get install dpkg-dev libsdl1.2-dev

sudo apt-get install git-core gnupg flex bison gperf build-essential

sudo apt-get install zip curl zlib1g-dev gcc-multilib

sudo apt-get install libc6-dev-i386

sudo apt-get install lib32ncurses5-dev x11proto-core-dev libx11-dev

sudo apt-get install libgl1-mesa-dev libxml2-utils xsltproc unzip m4

sudo apt-get install lib32z-dev ccache

sudo apt-get install libssl-dev libncurses5

自己总结:分支切换====================================================================

切换分支到某个源码版本

进入到/aosp/.repo/manifests$

使用命令 git branch -a | grep "android-13"

既可以列出所有13的分支

remotes/origin/android-13.0.0_r1

remotes/origin/android-13.0.0_r10

remotes/origin/android-13.0.0_r11

remotes/origin/android-13.0.0_r12

remotes/origin/android-13.0.0_r13

...

2、切换分支

repo init -u https://mirrors.tuna.tsinghua.edu.cn/git/AOSP/platform/manifest -b android-13.0.0_r6

编译源码

. build/envsetup.sh

lunch sdk_phone_x86_64 #must this

make

emulator

源码下载的其他方式===========================================================

12.other function download the source:

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代码

repo sync may has this error:

error: Entry 'command.py' not uptodate. Cannot merge.

fatal:xxxxxxxx''v2.17.3.0

cd .repo/repo

git pull

相关推荐
鹿鸣天涯12 小时前
使用VMware Workstation Pro搭建Ubuntu服务器虚拟机
ubuntu
知星小度S12 小时前
系统核心解析:深入操作系统内部机制——进程管理与控制指南(一)【进程/PCB】
linux·运维·服务器·进程
linjoe9916 小时前
【Deep Learning】Ubuntu配置深度学习环境
人工智能·深度学习·ubuntu
Empty_77717 小时前
SELinux安全上下文
linux·服务器·安全
bug攻城狮18 小时前
解决Ubuntu中apt-get -y安装时弹出交互提示的问题
linux·运维·ubuntu
xiachong2718 小时前
ubuntu18.04安装PCL1.14
linux·ubuntu
夜阑珊夭夭18 小时前
linux自定义网卡名字
linux·运维
czhc114007566318 小时前
Linux912 shell:$# $1 $?;RHEL 8 AppStream BaseOS
linux
佛天华19 小时前
centos 时间校准
linux·运维·centos
小柯J桑_20 小时前
Linux:线程封装
linux·运维·c++