gpt4 book ai didi

android - 初始化警告 : Service myservice needs a SELinux domain defined. 请修复

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:13:09 25 4
gpt4 key购买 nike

我想在启动时执行可执行文件 在装有 Android 5.1 的目标板上 所以我在 init.rc 中添加了这个:

on boot
start myservice

service myservice /system/bin/myservice
#class main
user root
group root
#oneshot

我做了拆包和重新打包的工作。
但是,当进行更改时,屏幕会继续打印:

 init warning: Service myservice needs a SELinux domain defined. Please fix.
type=1400 ... avc:denied ... scontext ... tcontext ... #some annoying warning messages like this

SELinux 对我来说似乎是一个巨大的项目。我只是想避免这种情况。我尝试了两种方法:

1. setenv kernelargs 'console=ttyS0,115200n8 rootdelay=1 selinux=0' and saveenv
2. set enforce 0

对于方法一,printenv给出结果:

kernelargs=console=ttyS0,115200n8 rootdelay=1 selinux=0

所以你看,已经发生了变化。但是重新启动后警告消息继续打印。
对于方法 2,它说:

Could not set enforce status. Permission denied.

所以现在我陷入了进退两难的境地,不知何去何从。我的问题:

    1. 有人知道如何在 android 中禁用或设置宽容模式吗?
    1. 如果我想为新服务定义域,我应该修改哪些文件?

此外,ls -Z/system/bin/myservice 给出了这个:

u:object_r:system_file:s0

最佳答案

  1. 您需要 su 来设置宽容模式。或者您需要源代码来禁用 SELinux,例如在内核配置中禁用 SELinux,或者在 device/vendor_name/product_name/BoardConfig.mk 中的 BOARD_KERNEL_CMDLINE 中禁用 SELinux。

  2. 如果您有源代码,您可以根据需要定义新域。

请引用Android官方文档:https://source.android.com/security/selinux/device-policy

部分:标记新服务和地址拒绝

关于android - 初始化警告 : Service myservice needs a SELinux domain defined. 请修复,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43600261/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com