目录
出现 android java.io.FileNotFoundException: xxxx (Permission denied)的原因:
请在AndroidManifest.xml里配置权限声明
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
并在代码里申请权限
ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE, Manifest.permission.READ_EXTERNAL_STORAGE}, 0 );
这里只是简单处理了申请,更详细的请自己搜索文章 参考着写;
(debug阶段 可以长按应用图标,打开“应用信息”-“权限”里直接赋予“存储空间权限”直接在”应用)
logcat里显示了如下错误
2022-09-09 14:09:07.641 7964-7964/com.unmidemo W/ com.unmidemo: type=1400 audit(0.0:162189): avc: denied { search } for name="com.unmidemo" dev="mmcblk0p87" ino=287852 scontext=u:r:untrusted_app:s0:c169,c256,c512,c768 tcontext=u:object_r:app_data_file:s0:c168,c256,c512,c768 tclass=dir permissive=0
重点已经加粗,许可失败。
//adb命令查看selinux状态
# adb shell getenforce
------------
返回的状态:
Enforcing //权限打开
Permissive //权限关闭
---------
//root 下执行
# adb shell setenforce 0 //权限关闭
# adb shell setenforce 1 //权限打开
root下执行 adb shell setenforce 0,关闭selinux 后重试,发现正常了。