新项目需基于android8.1进行开发,需要移植android5.1 RIL相关代码。 涉及代码有rild进程、ril相关库、串口复用进程muxd。
在移植的过程中,发现rild进程以及muxd进程无法启动。 原因是,android8.1默认开启selinux,需要配置对应的selinux策略文件才能启动进程。
解决办法
下面以串口复用进程muxd说明,
修改步骤:
1)device/qcom/sepolicy/common/file_contexts目录下
添加/(vendor|system/vendor)/bin/hw/muxd-cetc54 u:object_r:muxd-cetc54_exec:s0
2)device/qcom/sepolicy/common目录添加进程的te文件 --- muxd-cetc54.te
type muxd-cetc54, domain;
type muxd-cetc54_exec, exec_type, vendor_file_type, file_type;
init_daemon_domain(muxd-cetc54)
net_domain(muxd-cetc54)
all