安卓系统编译流程详解
应用环境脚本
在AOSP目录下有一个build/envsetup.sh
脚本,其中定义了编译过程中需要的各种命令,比如常用的lunch,m,mm
等,可以执行以下命 令应用环境设置脚本:
$ source path_to_aosp/build/envsetup.sh
或者
$ . path_to_aosp/build/envsetup.sh
选择编译目标
lunch
命令可以选择编译目标,编译目标命名规则为:BUILD-BUILDTYPE。不同的BUILD和BUILDTYPE分别代表不同的含义。下面的表格列出了一些BUILD和BUILDTYPE的含义:
BUILD | 含义 |
---|---|
full | 全编译 |
full_maguro | 全编译,并运行于maguro设备 |
full_panda | 全编译,并运行于panda设备 |
BUILDTYPE | 含义 |
---|---|
user | 编译出的系统有权限限制,一般用来发布最终上市版本 |
userdebug | 编译出的系统用有root权限,一般用来调试 |
eng | 工程机版本 |
可以使用lunch BUILD-BUILDTYPE
选择不同的编译目标,如:
$ lunch full-eng #选择编译一个完整工程机