【问题标题】:How to Create a back ground system service in Android Q如何在 Android Q 中创建后台系统服务
【发布时间】:2020-10-29 14:37:21
【问题描述】:

我正在尝试创建一个系统服务,该服务在系统启动后运行,除了 sepolicy 文件更新之外,我已遵循所需的步骤。 我已经推荐了https://android.jlelse.eu/system-service-in-aosp-750007d39555。 目前我的服务没有运行,因为 avc denied 错误即将到来。我在许可模式下运行。我试图在 /system/sepolicy/public/service.te 中的 service.te 和 conexts.te 中添加所需的更改。我收到编译错误 [6:49 PM] Kumar, Rathnakaram Anil (uic40644)

[下午 4:03] 库马尔,Rathnakaram Anil (uic40644)

嗨,阿什维尼, 我正在尝试为我的测试服务添加 selinux 权限,但遇到错误: [13% 18579/140712] 构建/目标/产品/caaf_denali_pegasus/obj/ETC/sepolicy_freeze_test_intermediates/sepolicy_freeze_test 失败:out/target/product/caaf_denali_pegasus/obj/ETC/sepolicy_freeze_test_intermediates/sepolicy_freeze_test /bin/bash -c“(差异 - 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) && (touch out /target/product/caaf_denali_pegasus/obj/ETC/sepolicy_freeze_test_intermediates/sepolicy_freeze_test )" 文件 system/sepolicy/prebuilts/api/29.0/private/service.te 和 system/sepolicy/private/service.te 不同文件 system/sepolicy/prebuilts/ api/29.0/private/service_contexts 和 system/sepolicy/private/service_contexts 不同。

我找不到任何关于如何为新服务更新 sepolicy 的线索,请帮助我。

【问题讨论】:

    标签: android-10.0 selinux system-services


    【解决方案1】:

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

    service_name u:object_r:service_name:s0

    重新编译 AOSP。

    【讨论】:

    • 如果答案对您有用,请选择已接受 :)
    【解决方案2】:
    1. 给你的二进制文件一个selable,将它添加到“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)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-03-14
      • 1970-01-01
      • 2020-08-28
      • 1970-01-01
      相关资源
      最近更新 更多