场景:在vendor/etc/init/hw/init.mt6765.rc中,通过设置自定义系统属性触发执行服务
实测代码:
如果这样写,属性可以设置成功,但是不会触发执行服务
on property:persist.gpio_out_high.enable=1
start gpioOutHigh
改为persist.vendor开头,可以触发执行服务
on property:persist.vendor.gpio_out_high.enable=1
start gpioOutHigh
注意,自定义属性不能像以前一样随意设置,需要严格按照android p的属性配置规则。
对于需要在non-system分区init rc 文件中作为action 使用的属性,需要以如下字符串作为前缀:
“init.svc.vendor.”, “ro.vendor.”, “persist.vendor.”, “vendor.”,
“init.svc.odm.”, “ro.odm.”, “persist.odm.”, “odm.”, “ro.boot.”
而只是在代码中使用属性无限制。
查看系统属性前缀定义:
system/core/init/stable_properties.h