资讯详情

Android Automotive 添加 Product

我们编译了上面的内容aosp_car_x86_64.在日常开发过程中,我们通常会基于自己创Product,本文将介绍如何创建自己Product,编译后,在我们自己的虚拟机中运行

1 概述

Product的基本要素

  • Boardconfig.mk – 芯片硬件相关配置、分区设置等
  • AndroidProducts.mk – 指定 product 配置,添加产品lunch combo
  • product.mk – product 与软件相关的配置
  • vendorsetup.sh(Android10之前)

2,创建Product

如何创建一个Product:

2.1,创建device目录

在 Android 系统上,product 四要素放在两个地方

  • device 目录:用于向制造商放置 product 的。
  • build/target 目录:用于放置 google 官方内置的 aosp product。

其中:

  • build/target/product 里面放 AndroidProducts.mk, 跟 product.mk
  • build/target/board 里面放 BoardConfig.mk 等。

和Google一样,我们可以在device创建我们的目录Product目录

mkdir -p device/guohuizhuan/car 

2.二、新板级配置 BoardConfig.mk

BoardConfig.mk 它包含硬件芯片架构配置、分区尺寸配置等信息。考虑到我们在虚拟机上使用它,我们直接继承它aosp_car_x86_我们不能创建64的配置文件,product可直接引用配置文件

2.3,新建product配置

新建product配置文件

vim device/guohuizhuan/car/aosp_guohuizhuan_car.mk 

其内容为

GHZ_PATH=vendor/guohuizhuan  PRODUCT_PACKAGE_OVERLAYS := ${GHZ_PATH}/overlay  EMULATOR_VENDOR_NO_SENSORS := true $(call inherit-product, device/generic/car/emulator/aosp_car_emulator.mk) $(call inherit-product, $(SRC_TARGET_DIR)/product/aosp_x86_64.mk)  EMULATOR_VENDOR_NO_SOUND := true PRODUCT_NAME := aosp_guohuizhuan_car PRODUCT_DEVICE := generic_car_x86_64 PRODUCT_BRAND := Android PRODUCT_MODEL := Car on x86_64 emulator  include ${GHZ_PATH}/device.mk  

2.4,新建AndroidProducts.mk

新建AndroidProducts.mk文件,将product添加到 lunch

PRODUCT_MAKEFILES := \         $(LOCAL_DIR)/aosp_guohuizhuan_car.mk  COMMON_LUNCH_CHOICES := \         aosp_guohuizhuan_car-userdebug 

2.5,文件目录

device/guohuizhuan目录结构如下: device目录 vendor/guohuizhuan目录结构如下:

3,编译验证

为了验证编译是否成功,我们可以device.mk添加系统属性

PRODUCT_PROPERTY_OVERRIDES  = ro.product.vendor.manufacturer=guohuizhuan 

执行编译:

source build/envsetup.sh lunch aosp_guohuizhuan_car make -j20 2>&1 | tee build.log 

编译完成后,我们将在虚拟机中运行,如上一章所述

操作后检查 可以肯定已经成功了!

标签: 6j20高温电阻合金丝材

锐单商城拥有海量元器件数据手册IC替代型号,打造 电子元器件IC百科大全!

 锐单商城 - 一站式电子元器件采购平台  

 深圳锐单电子有限公司