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

相关推荐
invicinble3 小时前
对linux形成认识
linux·运维·服务器
小Pawn爷3 小时前
14.VMmare安装ubuntu
linux·运维·ubuntu
半桔4 小时前
【IO多路转接】高并发服务器实战:Reactor 框架与 Epoll 机制的封装与设计逻辑
linux·运维·服务器·c++·io
engchina4 小时前
WSL Ubuntu で Kubernetes v1.34.2 + Docker 環境を構築する
ubuntu·docker·kubernetes
HABuo4 小时前
【linux文件系统】磁盘结构&文件系统详谈
linux·运维·服务器·c语言·c++·ubuntu·centos
Howrun7774 小时前
关于Linux服务器的协作问题
linux·运维·服务器
小白同学_C5 小时前
Lab3-page tables && MIT6.1810操作系统工程【持续更新】
linux·c/c++·操作系统os
十年磨一剑~6 小时前
Linux程序接收到sigpipe信号崩溃处理
linux
geshifei6 小时前
Sched ext回调3——select_cpu(linux 6.15.7)
linux·ebpf
代码游侠6 小时前
C语言核心概念复习——网络协议与TCP/IP
linux·运维·服务器·网络·算法