Android Makefile中如何自定义Product
在Android编译环境中,可以设置参数,选择需要编译的内容
PLATFORM_VERSION_CODENAME=REL
PLATFORM_VERSION=4.1.2TARGET_PRODUCT=
TARGET_BUILD_VARIANT=
TARGET_BUILD_TYPE=
TARGET_BUILD_APPS=
TARGET_ARCH=
TARGET_ARCH_VARIANT=
HOST_ARCH=x86
HOST_OS=linux
HOST_OS_EXTRA=Linux-3.2.0-29-generic-x86_64-with-Ubuntu-12.04-precise
HOST_BUILD_TYPE=release
BUILD_ID=
OUT_DIR=out
上面是可以设置的参数
主要介绍TARGET_PRODUCT,TARGET_BUILD_VARIANT
TARGET_ARCH是平台arm mips
TARGET_ARCH_VARIANT是平台具体版本
TARGET_PRODUCT可以设定指定产品
Android Makefile如何做的呢?
Makefile -> build/core/main.mk -> build/core/config.mk -> build/core/envsetup.mk -> build/core/product_config.mk
product_config.mk调用product.mk中的get-all-product-makefiles->_find-android-products-files
define _find-android-products-files
$(shell test -d device && find device -maxdepth 6 -name AndroidProducts.mk) \
$(shell test -d vendor && find vendor -maxdepth 6 -name AndroidProducts.mk) \
$(SRC_TARGET_DIR)/product/AndroidProducts.mk
endef
SRC_TARGET_DIR := $(TOPDIR)build/target
可以看到,其会遍历device vendor build/target 中的所有AndroidProducts.mk
AndroidProducts.mk中会定义:
PRODUCT_NAME :=
PRODUCT_DEVICE :=
最后根据TARGET_PRODUCT找到对应的AndroidProducts.mk
更多相关文章
- Android 遍历文件夹下的所有文件
- android 自动化压力测试-monkey 3 命令参数
- android上下文之间参数的传递与接…
- Android调用系统相机onActivityResult返回参数data为null
- 在Android平台上加载本地库的危险性
- Android 开发记录 环境平台的搭建
- android 遍历所有控件
- android intent activity参数传递
- 关于 Android 平台开发相关的有哪些推荐书籍?