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的原因不太容易被想到,这个机制却能导致很多方面的问题。

猜你喜欢

转载自blog.csdn.net/feiniao8651/article/details/73008113