1.
Execute 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 Jul 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 Jul 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
During the running process of the repo, it will try to access the official git source (errit.googlesource.com) to update itself. If you want to use tuna's mirror source to update, you can copy the following content to your ~/.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 "[email protected]"
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:
Execute 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
Summarize by yourself: Branch switching =============================================== =======================
Switch branches to a certain source code version
Go to /aosp/.repo/manifests$
Use the command git branch -a | grep "android-13"
All 13 branches can be listed
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. Switch branches
repo init -u https://mirrors.tuna.tsinghua.edu.cn/git/AOSP/platform/manifest -b android-13.0.0_r6
Compile source code
. build/envsetup.sh
lunch sdk_phone_x86_64 #must this
make
emulator
Other ways to download source code================================================ ==============
12.other function download the source:
wget -c https://mirrors.tuna.tsinghua.edu.cn/aosp-monthly/aosp-latest.tar # Download the initialization package
tar xf aosp-latest.tar # Decompress
cd AOSP # Decompress the AOSP project directory
# You can't see anything by ls at this time, because there is only one hidden .repo directory
repo sync # Synchronize normally to get the complete directory
# or repo sync -l only checkout code
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