1、安装repo
关于repo的安装,网上资料较多,此处仅作简述。
sudo apt install repo
sudo apt install curl
安装配置git
sudo apt-get install git
git config --global user.email "xxx@yyy.com"
git config --global user.name "xxx"
打开~/.bashrc
export REPO_URL='https://mirrors.tuna.tsinghua.edu.cn/git/git-repo/'
执行 source ~/.bashrc 使其生效
新建源码目录并进入。
repo init -u https://aosp.tuna.tsinghua.edu.cn/platform/manifest -b android-11.0.0_r33
repo sync
2、安装openjdk1.8
Ctrl+Alt+T 执行以下命令:
sudo add-apt-repository ppa:openjdk-r/ppa
sudo apt-get update
sudo apt-get install openjdk-8-jdk
在多个JDK版本中切换JDK
sudo update-alternatives --config java
sudo update-alternatives --config javac
检查JDK版本:
java -version
3、其他编译依赖:
sudo apt-get install libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-dev g++-multilib
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 libesd0-dev
sudo apt-get install git-core gnupg flex bison gperf build-essential
sudo apt-get install zip curl zlib1g-dev gcc-multilib g++-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
报错 :
unable to locate package libesd0-dev
sudo vim /etc/apt/sources.list //在行尾添加如下两行的内容
deb http://archive.ubuntu.com/ubuntu/ trusty main universe restricted multiverse
更新软件源并重新安装:
sudo apt-get update && sudo apt-get install libesd0-dev
4、编译:
source build/envsetup.sh
lunch 29
make
报错:
prebuilts/clang/host/linux-x86/clang-3289846/bin/clang.real: error while loading
shared libraries: libncurses.so.5: cannot open shared object file: No such file
or directory
09:36:08 ninja failed with: exit status 1
#### failed to build some targets (03:21 (mm:ss)) ####
解决:
sudo apt-get install libncurses*
报错:
下列软件包有未满足的依赖关系:
libncurses5-dbg : 依赖: libtinfo5 (= 6.0+20160213-1ubuntu1) 但是 6.2-0ubuntu2 正要被安装
依赖: libncurses5 (= 6.0+20160213-1ubuntu1) 但是 6.2-0ubuntu2 正要被安装
依赖: libtinfo5-dbg (= 6.0+20160213-1ubuntu1) 但是它将不会被安装
libncursesada3-dev : 依赖: gnat-4.9 但是它将不会被安装
libncursesw5-dbg : 依赖: libtinfo5 (= 6.0+20160213-1ubuntu1) 但是 6.2-0ubuntu2 正要被安装
依赖: libtinfo5-dbg (= 6.0+20160213-1ubuntu1) 但是它将不会被安装
依赖: libncursesw5 (= 6.0+20160213-1ubuntu1) 但是 6.2-0ubuntu2 正要被安装
解决:
根据提示安装对应版本的依赖包:
eg:
sudo apt-get install libncurses5=6.0+20160213-1ubuntu1
sudo apt-get install libtinfo5=6.0+20160213-1ubuntu1
sudo apt-get install libncursesw5=6.0+20160213-1ubuntu1