Ubuntu AOSP编译环境配置
1.安装和配置步骤:
1.1换国内USTC源:
直接编辑 /etc/apt/sources.list 文件 :
Ubuntu 18.04:
# 默认注释了源码仓库,如有需要可自行取消注释
deb https://mirrors.ustc.edu.cn/ubuntu/ bionic main restricted universe multiverse
# deb-src https://mirrors.ustc.edu.cn/ubuntu/ bionic main restricted universe multiverse
deb https://mirrors.ustc.edu.cn/ubuntu/ bionic-security main restricted universe multiverse
# deb-src https://mirrors.ustc.edu.cn/ubuntu/ bionic-security main restricted universe multiverse
deb https://mirrors.ustc.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse
# deb-src https://mirrors.ustc.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse
deb https://mirrors.ustc.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse
# deb-src https://mirrors.ustc.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse
# 预发布软件源,不建议启用
# deb https://mirrors.ustc.edu.cn/ubuntu/ bionic-proposed main restricted universe multiverse
# deb-src https://mirrors.ustc.edu.cn/ubuntu/ bionic-proposed main restricted universe multiverse
Ubuntu 20.04:
# 默认注释了源码仓库,如有需要可自行取消注释
deb https://mirrors.ustc.edu.cn/ubuntu/ focal main restricted universe multiverse
# deb-src https://mirrors.ustc.edu.cn/ubuntu/ focal main restricted universe multiverse
deb https://mirrors.ustc.edu.cn/ubuntu/ focal-security main restricted universe multiverse
# deb-src https://mirrors.ustc.edu.cn/ubuntu/ focal-security main restricted universe multiverse
deb https://mirrors.ustc.edu.cn/ubuntu/ focal-updates main restricted universe multiverse
# deb-src https://mirrors.ustc.edu.cn/ubuntu/ focal-updates main restricted universe multiverse
deb https://mirrors.ustc.edu.cn/ubuntu/ focal-backports main restricted universe multiverse
# deb-src https://mirrors.ustc.edu.cn/ubuntu/ focal-backports main restricted universe multiverse
# 预发布软件源,不建议启用
# deb https://mirrors.ustc.edu.cn/ubuntu/ focal-proposed main restricted universe multiverse
# deb-src https://mirrors.ustc.edu.cn/ubuntu/ focal-proposed main restricted universe multiverse
Ubuntu 22.04:
# 默认注释了源码仓库,如有需要可自行取消注释
deb https://mirrors.ustc.edu.cn/ubuntu/ jammy main restricted universe multiverse
# deb-src https://mirrors.ustc.edu.cn/ubuntu/ jammy main restricted universe multiverse
deb https://mirrors.ustc.edu.cn/ubuntu/ jammy-security main restricted universe multiverse
# deb-src https://mirrors.ustc.edu.cn/ubuntu/ jammy-security main restricted universe multiverse
deb https://mirrors.ustc.edu.cn/ubuntu/ jammy-updates main restricted universe multiverse
# deb-src https://mirrors.ustc.edu.cn/ubuntu/ jammy-updates main restricted universe multiverse
deb https://mirrors.ustc.edu.cn/ubuntu/ jammy-backports main restricted universe multiverse
# deb-src https://mirrors.ustc.edu.cn/ubuntu/ jammy-backports main restricted universe multiverse
# 预发布软件源,不建议启用
# deb https://mirrors.ustc.edu.cn/ubuntu/ jammy-proposed main restricted universe multiverse
# deb-src https://mirrors.ustc.edu.cn/ubuntu/ jammy-proposed main restricted universe multiverse
换源之后执行:
sudo apt-get update
sudo apt-get upgrade
2.安装 git
sudo apt-get install git
git config --global user.name "xxxx"
git config --global user.email "xxxx@163.com"
之后生成ssh key (如果存在就不需要再生成了)
命令:
ssh-keygen -t rsa
生成的 key 在 ~/.ssh/ 目录下
查看公钥key 命令:
cat ~/.ssh/id_rsa.pub
3.安装OpenJDK
3.1 安装jdk1.8和jdk17:
系统默认集成了jdk的源,可直接执行以下安装;
sudo apt-get install openjdk-8-jdk
sudo apt-get install openjdk-21-jdk
sudo update-alternatives --config java (选择切换java版本)
4.安装环境
sudo apt-get install libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-dev g++-multilib -y
sudo apt-get install -y git flex bison gperf build-essential libncurses5-dev:i386 -y
sudo apt-get install tofrodos python-markdown libxml2-utils xsltproc zlib1g-dev:i386 -y
sudo apt-get install dpkg-dev libsdl1.2-dev libssl-dev -y
sudo apt-get install git-core gnupg flex bison gperf build-essential -y
sudo apt-get install zip curl zlib1g-dev gcc-multilib g++-multilib -y
sudo apt-get install libc6-dev-i386 -y
sudo apt-get install lib32ncurses5-dev x11proto-core-dev libx11-dev -y
sudo apt-get install libgl1-mesa-dev libxml2-utils xsltproc unzip m4 -y
sudo apt-get install lib32z-dev -y
sudo apt-get install libncurses5 -y
sudo apt-get install libpng-dev -y
sudo apt-get install libssl-dev -y
sudo apt install python-crypto -y
sudo apt-get install libswitch-perl -y
sudo apt install bc bison build-essential ccache curl flex g++-multilib gcc-multilib git git-lfs gnupg gperf imagemagick -y
sudo apt install lib32ncurses5-dev lib32readline-dev lib32z1-dev libelf-dev liblz4-tool libncurses5 libncurses5-dev -y
sudo apt install libsdl1.2-dev libssl-dev libxml2 libxml2-utils lzop pngcrush rsync -y
sudo apt install schedtool squashfs-tools xsltproc -y
sudo apt install zip zlib1g-dev -y
sudo apt-get install cmake gcc clang gdb build-essential -y
sudo apt-get install device-tree-compiler -y
sudo apt-get install gawk -y
最后在.bashrc中加入:
# Build Android by MAZHUANG
export LC_ALL=C
export PATH=~/bin:$PATH
export ANDROID_HOME=~/Android/Sdk
export PATH=$PATH:$ANDROID_HOME/tools:$ANDROID_HOME/tools/bin:$ANDROID_HOME/platform-tools
export REPO_URL='https://mirrors.tuna.tsinghua.edu.cn/git/git-repo'
5.Python版本切换
sudo update-alternatives --install /usr/bin/python python /usr/bin/python2 1
sudo update-alternatives --install /usr/bin/python python /usr/bin/python3 2
sudo update-alternatives --config python (选择切换Python版本)
python --version (查看Python版本)
6.常见编译报错解决
ninja failed with: exit status 137
其中exit status 137表示进程被强制终止,通常是由于内存溢出等问题引起的
解决方案:
编辑.bashrc加入:
export MAVEN_OPTS="-Xms12288m -Xmx12288m"
7.编译主机bashrc备份
# Build Android by MAZHUANG
export LC_ALL=C
export PATH=~/bin:$PATH
export ANDROID_HOME=~/Android/SDK
export PATH=~/Android/SDK/tools:$PATH
export PATH=$PATH:$ANDROID_HOME/tools:$ANDROID_HOME/tools/bin:$ANDROID_HOME/platform-tools
export PATH=~/Application/jadx/bin:$PATH
export REPO_URL='https://mirrors.tuna.tsinghua.edu.cn/git/git-repo'
# add Android SDK platform tools to path
if [ -d "$HOME/bin/platform-tools" ] ; then
PATH="$HOME/bin/platform-tools:$PATH"
fi
# Use ccache
export USE_CCACHE=1
export CCACHE_EXEC=/usr/bin/ccache
ccache -M 100G

浙公网安备 33010602011771号