xxx.prop编译顺序及原理
格式 key = value
xxx.prop
ADDITIONAL_DEFAULT_PROPERTIES
展开,如键重复取第一次取到的,后面重复的就忽略,通常定义 ro.zygote 之类的特别重要属性
PRODUCT_DEFAULT_PROPERTY_OVERRIDES
紧跟在 ADDITIONAL_DEFAULT_PROPERTIES 之后,优先级靠后
由于这两个规则是取第一次取到的,因此先定义优先级最高。
ADDITIONAL_BUILD_PROPERTIES
同样是重复时先定义先有效
PRODUCT_PROPERTY_OVERRIDES
这个紧跟在 ADDITIONAL_BUILD_PROPERTIES 之后,就是说其优先级比较低
PRODUCT_OEM_PROPERTIES
默认有3个值不能被定义,会被滤掉ro.product.brand \ ro.product.name \ ro.product.device
最后定义在
PRODUCTS.device/yunovo/magc6580_we_l_y/yunovo_magc6580_we_l.mk.PRODUCT_PROPERTY_OVERRIDES
这样的完整属性只有两个,一个是PRODUCT_PROPERTY_OVERRIDES
一个是 PRODUCT_PROPERTY_OVERRIDES
一个是 PRODUCT_DEFAULT_PROPERTY_OVERRIDES
其余的 ADD 开头的没有定义到特别属性里
生效规则:
PRODUCT_OEM_PROPERTIES 导入单独文件
并在原文件最后一行添加 import /oem/oem.prop $(prop)
首先插入 TARGET_BUILD_TYPE 等动态决定的值,比如时间等,这个是由Makefile里echo动态写入的
其次插入 ADDITIONAL_BUILD_PROPERTIES 值,一样通过 echo动态插入
其次处理 INSTALLED_ANDROID_INFO_TXT_TARGET 文件特殊值追加到最后
最后滤掉 PRODUCT_SYSTEM_PROPERTY_BLACKLIST 定义的黑属性