selinux安全策略导致APP不能读取文件

        由于项目的需要,我们开发的画册类APP需要读取几个G的数据,系统启动后只有此APP自动启动显示,APP不能退出,用户不能使用其他APP。直接在普通平板上安装显示是不能满足需求的。因此我们定制了小米2平板将APP连同几个G的数据打包到系统中。原来开发的时候是用小米1平板做调试开发的,但是后来换了小米2平板就发现画册不能正常显示。查找原因发现每次在读取关键文件时有以下的Log出现:

type=1400 audit(0.0:86): avc: denied { lock } for path="/data/miui/3rd/book/JournalData/Page/Page_2/Page_V.cebx" dev="mmcblk0p13" ino=2218 scontext=u:r:untrusted_app:s0 tcontext=u:object_r:system_data_file:s0 tclass=file permissive=0

        分析Log发现导致画册不能正常显示的原因是由于Android系统采用的selinux安全策略。Android5.0以上的系统默认会开启selinux的强制安全策略,使用enforcing强制模式。由于没有对APP添加系统文件访问允许策略导致了文件不能正常读取。在调试时通过命令setenforce 0关闭enforcing模式采用permissive宽容模式就可以正常读取文件。为了能正常读取文件需要在selinux安全策略文件中添加允许APP读取系统文件的安全策略,将系统重新编译后就能使APP正常读取文件了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值