android 5.x Native Service SELinux 调试记录

在Android 5.x系统上添加native service时遇到权限问题,表现为avc: denied错误。解决方法包括:修改init rc文件添加服务、更新file_contexts策略、编写xxx.te策略文件,添加execute_no_trans、binder_call权限,并处理service_manager的add权限。通过调整策略文件并重新编译,成功使服务正常启动。
摘要由CSDN通过智能技术生成
在开发android项目时,需要在init.rc中加入我们自己的native service xxx;但是在android 5.x系统上添加服务后发现服务没有正常启动,log中会报avc: denied错误。被SELinux拒绝权限了。所以我们就需要添加权限了。

与之前android版本一样,修改init rc文件添加我们需要的服务
service xxx/system/vendor/bin/xxx
class main
user root
group root

好啦!这样开机就可以执行服务了,但是不能正常启动,因为没有权限....,所以就要添加相应的权限策略使服务正常启动。

1.查看文件的安全上下文
先要用ls -Z命令查看安全上下文:
ls -Z
-rwxr-xr-x root shell u:object_r:system_file:s0 xxx

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值