build.prop的是build/core/Makefile生成的。
ifdef TARGET_SYSTEM_PROP
system_prop_file := $(TARGET_SYSTEM_PROP)
else
system_prop_file := $(wildcard $(TARGET_DEVICE_DIR)/system.prop)
endif
先加载项目的system.prop,变量TARGET_DEVICE_DIR赋值代码如下:
TARGET_DEVICE_DIR := $(patsubst %/,%,$(dir $(board_config_mk)))
board_config_mk := \
$(strip $(wildcard \
$(SRC_TARGET_DIR)/board/$(TARGET_DEVICE)/BoardConfig.mk \
$(shell test -d device && find device -maxdepth 4 -path '*/$(TARGET_DEVICE)/BoardConfig.mk') \
$(shell test -d vendor && find vendor -maxdepth 4 -path '*/$(TARGET_DEVICE)/BoardConfig.mk') \
))
代码先查找device和vendor目录下面有BoardConfig.mk的文件夹赋值给变量board_config_mk,board_config_mk里面的目录在去掉末尾的“/”后赋值给TARGET_DEVICE_DIR。