如何在Android Q

问题描述

我正在尝试创建一个系统服务,该服务将在系统启动时运行,我已按照必需的步骤进行了操作,除了Sepolicy文件已更新。 我已推荐https://android.jlelse.eu/system-service-in-aosp-750007d39555。 当前我的服务未运行,因为即将出现avc拒绝错误。我在宽松模式下运行。我试图在/system/sepolicy/public/service.te中的service.te和conexts.te中添加所需的更改。我在[6:49 PM] Kumar,Rathnakaram Anil(uic40644)时遇到编译错误

[4:03 PM] Kumar,拉特纳卡兰邦阿尼尔(uic40644)

你好Ashwini, 我正在尝试为我的测试服务添加selinux权限,遇到错误: [13%18579/140712]扩展/目标/产品/ caaf_denali_pegasus / obj / ETC / sepolicy_freeze_test_intermediates / sepolicy_freeze_test失败:输出/目标/产品/ caaf_denali_pegasus / obj / ETC / sepolicy_freeze_test_intermediates / sepolicy_free- rq -x bug_map system / sepolicy / prebuilts / api / 29.0 / public system / sepolicy / public)&&(diff -rq -x bug_map system / sepolicy / prebuilts / api / 29.0 / private system / sepolicy / private)&&(触摸/ target / product / caaf_denali_pegasus / obj / ETC / sepolicy_freeze_test_intermediates / sepolicy_freeze_test)“文件系统/sepolicy/prebuilts/api/29.0/private/service.te和system / sepolicy / private / service.te不同文件系统/ sepolicy / prebuilts / api / 29.0 / private / service_contexts和system / sepolicy / private / service_contexts不同。

我无法找到有关如何为一项新服务更新保密性的任何线索,请帮助我。

解决方法

编辑文件/ system / sepolicy / private / service_contexts并添加此行

service_name u:object_r:service_name:s0

重新编译AOSP。

,
  1. 给您的二进制文件一个小巧的选择,将其添加到“ file_contexts”中

/ vendor / bin / xxx u:object_r:xxx_exec:s0

  1. 创建te文件“ xxx.te”
# xxx service
type xxx,domain;
type xxx_exec,exec_type,vendor_file_type,file_type;

init_daemon_domain(xxx)