Android Makefile中如何自定义Product

在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



  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值