系统定制添加属性到 build.prop

build.prop新增自定义属性值

  1. build/core/product.mk中增加自定义属性值
_product_var_list := \
    PRODUCT_NAME \
    PRODUCT_MODEL \
    PRODUCT_LOCALES \
    PRODUCT_AAPT_CONFIG \

    ...

    # 新增的属性值如下
    PRODUCT_TARGET_NUMBER \
    PRODUCT_TARGET_VERSION \
  1. build/core/Makefile下对新增属性值赋值

    ...
    
    ifneq ($(PRODUCTS.$(INTERNAL_PRODUCT).PRODUCT_OEM_PROPERTIES),)
        $(hide) echo "#" >> $@; \
                echo "# PRODUCT_OEM_PROPERTIES" >> $@; \
                echo "#" >> $@;
        $(hide) $(foreach prop,$(PRODUCTS.$(INTERNAL_PRODUCT).PRODUCT_OEM_PROPERTIES), \
            echo "import /oem/oem.prop $(prop)" >> $@;)
    endif
        $(hide) TARGET_BUILD_TYPE="$(TARGET_BUILD_VARIANT)" \
                TARGET_BUILD_FLAVOR="$(TARGET_PRODUCT)-$(TARGET_BUILD_VARIANT)" \
                TARGET_DEVICE="$(TARGET_DEVICE)" \
                PRODUCT_NAME="$(TARGET_PRODUCT)" \
                PRODUCT_BRAND="$(PRODUCT_BRAND)" \
    
                ...
    
                # 新增属性赋值如下
                PRODUCT_TARGET_VERSION="$(PRODUCT_TARGET_VERSION)" \
                PRODUCT_TARGET_NUMBER="$(PRODUCT_TARGET_NUMBER)" \
                PRIVATE_BUILD_DESC="$(PRIVATE_BUILD_DESC)" \
    
  1. 在build/tools/buildinfo.sh脚本中添加写入脚本

    ...
    echo "ro.product.model=$PRODUCT_MODEL"
    echo "ro.product.brand=$PRODUCT_BRAND"
    echo "ro.product.name=$PRODUCT_NAME"
    
    # add new build.prop here by allies
    echo "ro.product.number=$PRODUCT_TARGET_NUMBER"
    echo "ro.product.version=$PRODUCT_TARGET_VERSION"
    
    echo "ro.product.device=$TARGET_DEVICE"
    ...
    
  2. BoardConfigCommon.mk中定义属性具体指

    ...
    OTA_WITH_OPTEE = $(BOARD_OPTEEIMAGE)
    OTA_WITH_ARMFW = $(BOARD_OPTEEIMAGE)
    
    # add new item to build.prop by allies
    PRODUCT_TARGET_NUMBER := E000000001
    PRODUCT_TARGET_VERSION := 001
    
  3. make installclean之后make查看设备指定system/build.prop文件内容是否发生改变

    ...
    ro.build.flavor=aosp_makena_dtmb-userdebug
    ro.product.model=MAKENA TV
    ro.product.brand=Makena
    ro.product.name=aosp_makena_dtmb
    ro.product.number=E000000001
    ro.product.version=001
    ro.product.device=makena
    ...
    
坚持原创技术分享,您的支持将鼓励我继续创作!