在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



更多相关文章

  1. Android 遍历文件夹下的所有文件
  2. android 自动化压力测试-monkey 3 命令参数
  3. android上下文之间参数的传递与接…
  4. Android调用系统相机onActivityResult返回参数data为null
  5. 在Android平台上加载本地库的危险性
  6. Android 开发记录 环境平台的搭建
  7. android 遍历所有控件
  8. android intent activity参数传递
  9. 关于 Android 平台开发相关的有哪些推荐书籍?

随机推荐

  1. Android中资源的访问
  2. Android 常用控件讲解
  3. Eclipse上基于Android SDK的开发
  4. 用 Eclipse 开发 Android 应用程序
  5. Android 的视频编码 H263 MP4V H264
  6. Android 复习 Content Provider
  7. 【Android Developers Training】 53. 打
  8. Android中日期和时间控件的使用
  9. Android actionbar
  10. android 项目打包成Library