android开发中selinux的影响

OS:Android 6.0
在设备上访问一个SharedPreference,文件路径没有问题,对应的文件也存在,访问权限也设置成了777,但是每次用getSharedPreferences访问文件时,总是会报错:

W/SharedPreferencesImpl: getSharedPreferences                                                                     java.io.FileNotFoundException: /data/user/0/com.coffee.test/shared_prefs/system_config_prefs.xml: open failed: EACCES (Permission denied)                                                                            at libcore.io.IoBridge.open(IoBridge.java:452)                                                                         at java.io.FileInputStream.<init>(FileInputStream.java:76)                                                                        at android.app.SharedPreferencesImpl.loadFromDiskLocked(SharedPreferencesImpl.java:119)                                                                         at android.app.SharedPreferencesImpl.-wrap1(SharedPreferencesImpl.java)                                                   at android.app.SharedPreferencesImpl$1.run(SharedPreferencesImpl.java:91)                                             Caused by: android.system.ErrnoException: open failed: EACCES (Permission denied)                                                           at libcore.io.Posix.open(Native Method)
at libcore.io.BlockGuardOs.open(BlockGuardOs.java:186)                                            at libcore.io.IoBridge.open(IoBridge.java:438)                                                    at java.io.FileInputStream.<init>(FileInputStream.java:76) 
at android.app.SharedPreferencesImpl.loadFromDiskLocked(SharedPreferencesImpl.java:119) 
at android.app.SharedPreferencesImpl.-wrap1(SharedPreferencesImpl.java) 
at android.app.SharedPreferencesImpl$1.run(SharedPreferencesImpl.java:91) 

找了半天也没发现的问题所在。最后忽然想起了android5.0以后开始使用了selinux的机制,使用getenforce命令查询当前的selinux 是否打开:

# getenforce
Enforcing

果然是selinux的原因,使用命令

setenforce 0

关闭selinux。

服务器的运维人员在做服务器配置时,经常会把selinux给关掉,但是在Android开发中,selinux的原因不太容易被想到,这个机制却能导致很多方面的问题。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值