AndroidQ平台上hal进程设置属性system_server进程读取的一种实现方式

1、功能需求

安全域为hal_sensors_default的native进程进行sensor校准,然后让上层应用获得校准结果。可以通过添加HIDL接口的方式来实现,但是实现过程繁琐。最终考虑通过属性来传递校准结果。

hal_sensors_default安全域中的进程设置属性,system_app和system_server安全域中的java应用读取属性。

2、定义属性和设置属性

在 device/qcom/sepolicy/vendor/property.te 中定义一个新的属性类型

# hal_sensors
type vendor_sensor_prop, property_type;

在 device/qcom/sepolicy/vendor/property_contexts 中设置具体property的安全标签

# hal_sersors
vendor.sensor.cali.                   u:object_r:vendor_sensor_prop:s0

在 device/qcom/sepolicy/vendor/hal_sensors_default.te 中允许 hal_sensors_default 设置指定的属性 vendor_sensor_prop

# set prop in hal_sensors_default
set_prop(hal_sensors_default, vendor_sensor_prop)

说明:用户自定义的属性需要放在vendor目录,属性的格式也有具体的要求,如需要以 vendor.  persist.vendor. 等作为属性的开头,否则影响CTS测试。 

3、system_app安全域读取属性

在 device/qcom/sepolicy/vendor/system_app.te 中允许 system_app 域可以读取指定的属性 vendor_sensor_prop

# hal_sersors
get_prop(system_app, vendor_sensor_prop)

在 device/qcom/sepolicy/vendor/system_server.te 中允许 system_server 域可以读取指定的属性

# hal_sensors
get_prop(system_server, vendor_sensor_prop)

说明:system_app和system_server安全域都是定义在public目录下的域,所以可以在vendor目录中添加相关的策略。

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值