具体说明
https://source.android.com/source/
源码下载
https://mirrors.tuna.tsinghua.edu.cn/help/AOSP/
1 搭建编译环境
使用ubuntu1604
安装open jdk
$ sudo apt-get update
$ sudo apt-get install openjdk-8-jdk
安装所需的程序包
$ sudo apt-get install git gnupg flex bison gperf build-essential \
zip curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \
libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \
libgl1-mesa-dev g++-multilib mingw32 tofrodos \
python-markdown libxml2-utils xsltproc zlib1g-dev:i386
$ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gnu/libGL.so
2 下载源码
通过清华镜像站下载
wget 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代码
3 下载专有二进制文件
下载后解压,
在asop目录下运行
../extract-huawei-angler.sh
清理之前的
$ make clobber
4 编译
设置环境
source build/envsetup.sh
选择目标
$ lunch aosp_arm-eng
编译代码
make -j6
模拟 Android 设备
$ emulator
5 单独编译模块
设置环境
source build/envsetup.sh
选择目标
$ lunch aosp_arm-eng
mmm packages/apps/xxx
生成的apk在 out/target/product/generic/system/app目录下
重新打包
make snod