您的位置:首页 > 移动开发 > Android开发

Android Makefile中如何自定义Product

2013-02-01 13:00 525 查看
在Android编译环境中,可以设置参数,选择需要编译的内容

PLATFORM_VERSION_CODENAME=REL

PLATFORM_VERSION=4.1.2

TARGET_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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: