Android系统build分类
1、build/core 目录下的文件,这是Android Build的系统框架核心;
2、device目录下的文件,存放的是具体的产品配置文件;
3、各个模块的编译文件:Android.mk,位于模块的源文件目录下。
Android系统build流程分析
一, . build/envsetup.sh
搜索vender及device目录下的vendersetup.sh文件。
还其中定义了一些常用命令
二, lunch
检查所指定产品名称,定义产品环境变量。
lunch命令如果没有参数,系统会打印出产品的列表供选择,选择是可以用数字编号或字符串。
lunch的参数格式如下:
“<product_name>-<build_variant>”
1,“product_name”必须是系统中已经定义的产品名称
2,“build_variant”必须是“eng”、“user”和“userdebug”三者之一
所定义变量有:
· TARGET_PRODUCT:对应“product_name” ,需与device下定义的PRODUCT_NAME一致
· TARGET_BUILD_VARIANT:对应“build_variant”
· TARGET_BUILD_TYPE:一般是“release”
环境变量的意义:
PLATFORM_VERSION_CODENAME:平台版本名称,默认值在version_defaults.mk中定义
PLATFORM_VERSION:Android平台的版本号,默认值在version_defaults.mk中定义
TARGET_PRODUCT:所编译产品的名称
TARGET_B