具体说明
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

05-21 10:36