0
点赞
收藏
分享

微信扫一扫

Android系统10 RK3399 init进程启动(十四) 产品配置各种变量

说明

系统:Android10.0

设备: FireFly RK3399 (ROC-RK3399-PC-PLUS)

前言

         本章重点介绍在device.mk, BoardConfig.mk, 产品名.mk中出现各种变量的意思。

一,包含

1,  inherit-product函数

表示继承另外一个文件:

$(call inherit-product, $(SRC_TARGET_DIR)/product/aosp_x86_64.mk)

$(call inherit-product-if-exists, device/mediatek/mt2712/device.mk)

2, include 文件

-include development/build/product_sdk.mk

include device/rockchip/common/BoardConfig.mk

        在Makefile中可使用“-include”来代替“include”,来忽略由于包含文件不存在或者无法创建时的错误提示(“-”的意思是告诉make,忽略此操作的错误。make继续执行),不加-,当include的文件出错或者不存在的时候, make会报错并退出。 

3, include和 inherit-product的区别

假设您PRODUCT_VAR := a在 A.mk 中,PRODUCT_VAR := b在 B.mk 中。

如果你在 A.mk 中include  B.mk,你最终会得到PRODUCT_VAR := b。

但是如果你inherit-product在 A.mk 中 B.mk,你会得到PRODUCT_VAR := a b.

并inherit-product确保您不会两次包含 makefile,因为它Records that we've visited this node, in ALL_PRODUCTS.

二, 变量

通用变量: 表示在各个平台上都会用到, 如

PRODUCT_BRAND := Android

PRODUCT_NAME := sdk_phone_x86_64

PRODUCT_DEVICE := generic_x86_64

PRODUCT_MODEL := Android SDK built for x86_64

自定义变量:表示该变量如何使用, 取决于自己,如

BOARD_DDR_VAR_ENABLED := true

功能变量:表示改变量有特殊功能

1, PRODUCT_COPY_FILES: 用于完成拷贝,例如

PRODUCT_COPY_FILES += vendor/rockchip/common/phone/etc/spn-conf.xml:system/etc/spn-conf.xml

2,PRODUCT_PROPERTY_OVERRIDES: 用于设置系统属性(覆盖),例如

PRODUCT_PROPERTY_OVERRIDES += \

    ro.product.version = 1.0.0 \

总结

通过理解文件中各个变量的意思, 方便大家对产品客制化的东西有一个初步的理解。

         


举报

相关推荐

0 条评论