参考:
https://source.android.google.cn/docs/core/architecture/configuration/add-system-properties#property-name
场景:在定义一个property,并在SystemServer进程中读取
1, system property赋值:
device/***/system_property.mk
# vendor property:
#PRODUCT_PROPERTY_OVERRIDES += \
# ro.mygroup.test=1
# system property
PRODUCT_SYSTEM_DEFAULT_PROPERTIES += \
ro.mygroup.test=1
system_property.mk被device mk引用
device/***/BoardConfig.mk
$(call inherit-product, device/***/system_property.mk)
2, 定义sepolicy主体,以及getprop权限
device///sepolicy/property_contexts
ro.mygroup.test u:object_r:my_property_test:s0 exact string
device///sepolicy/my_property_demo.te
system_public_prop(my_property_test)
get_prop(system_server, my_property_test)
将sepolocy加入编译
device/***/BoardConfig.mk
# BOARD_SEPOLICY_DIRS += device/**/sepolicy/
SYSTEM_EXT_PUBLIC_POLICY += device/**/sepolicy/
3, system_server访问property
String value = SystemProperties.get("ro.mygroup.test", "");