一、环境依赖
Ubuntu 18.04
系统库依赖
apt-get install git-core gnupg flex bison build-essential zip curl zlib1g-dev gcc-multilib g++-multilib libc6-dev-i386 libncurses5 lib32ncurses5-dev x11proto-core-dev libx11-dev lib32z1-dev libgl1-mesa-dev libxml2-utils xsltproc unzip fontconfig wget
JDK安装
apt-get install openjdk-8-jdk
#删除jdk.tls.disabledAlgorithms=包含的TLSv1、TLSv1.1
vim /etc/java-8-openjdk/security/java.security
repo安装
export REPO=$(mktemp /tmp/repo.XXXXXXXXX)
curl -o ${REPO} https://storage.googleapis.com/git-repo-downloads/repo
gpg --keyserver hkp://keys.openpgp.org --recv-key 8BB9AD793E8E6153AF0F9A4416530D5E920F5C65
curl -s https://storage.googleapis.com/git-repo-downloads/repo.asc | gpg --verify - ${REPO} && install -m 755 ${REPO} ~/bin/repo
增加环境变量
vim ~/.bashrc
#增加 export LC_ALL=C
source ~/.bashrc
二、源码下载
创建源码目录
mkdir WORKING_DIRECTORY
cd WORKING_DIRECTORY
设置git全局信息
git config --global user.name Your Name
git config --global user.email you@example.com
源码同步
# Android 8.1.0 (OPM7.181205.001)
repo init -u https://android.googlesource.com/platform/manifest -b android-8.1.0_r52
repo sync -c -j8
下载驱动
#在源码目录之外解压得到*.sh文件
#执行.sh文件得到驱动程序文件,移动到源码根目录
wget https://dl.google.com/dl/android/aosp/lge-bullhead-opm7.181205.001-bb4176a6.tgz
wget https://dl.google.com/dl/android/aosp/qcom-bullhead-opm7.181205.001-89810045.tgz
三、编译源代码
1.初始化编译环境
source build/envsetup.sh
lunch aosp_bullhead-userdebug
3.正式编译
#默认编译方式
m -j[N]
#编译清理
m clean
4.获取编译镜像
cp [WORKING_DIRECTORY]/out/target/product/[bullhead]/*.img [空目录]
四、镜像刷机
1.解除手机OEM
fastboot flashing unlock
#or
fastboot oem unlock
2.设置环境变量
#linux
export ANDROID_PRODUCT_OUT=[img存放目录]
#windows
环境变量添加 key=ANDROID_PRODUCT_OUT,value=[img存放目录]
3.输入镜像
adb reboot bootloader
#待手机进入bootloader模式
fastboot flashall -w