Android不可擦除分区写文件恢复出厂设置,无法读写问题

普通应用往不可擦除分区写文件之后,恢复出厂设置

现象:概率性读不到写过之后的文件

复制代码
12-18 10:57:31.348  7980  7980 W System.err: java.io.FileNotFoundException: /xxx/xxx: open failed: EACCES (Permission denied)
12-18 10:57:31.348  7980  7980 W System.err: 	at libcore.io.IoBridge.open(IoBridge.java:574)
12-18 10:57:31.348  7980  7980 W System.err: 	at java.io.FileOutputStream.<init>(FileOutputStream.java:259)
12-18 10:57:31.348  7980  7980 W System.err: 	at java.io.FileWriter.<init>(FileWriter.java:113)
12-18 10:57:31.348  7980  7980 W System.err: 	at android.util.FileIOUtils.writeFileFromString(FileIOUtils.java:556)
12-18 10:57:31.348  7980  7980 W System.err: 	at android.util.FileIOUtils.writeFileFromString(FileIOUtils.java:510)

原因:恢复出厂设置之后,组权限变化,导致之前有权限的应用,读不到分组的权限

写文件的时候,给文件赋予666权限

复制代码
val path: Path = Paths.get(PN_PATH)
val perms: MutableSet<PosixFilePermission> = HashSet()
perms.add(PosixFilePermission.GROUP_WRITE)
perms.add(PosixFilePermission.GROUP_READ)
perms.add(PosixFilePermission.OTHERS_WRITE)
perms.add(PosixFilePermission.OTHERS_READ)
perms.add(PosixFilePermission.OWNER_READ)
perms.add(PosixFilePermission.OWNER_WRITE)
Files.setPosixFilePermissions(path, perms)
相关推荐
低调小一7 小时前
深度复盘:KMP 在字节跳动的工程化落地实践
android·kotlin
歪楼小能手10 小时前
Android16系统go版关闭重力旋转开关后缺失手动旋转屏幕悬浮按钮
android·java·平板
崇山峻岭之间10 小时前
Matlab学习记录37
android·学习·matlab
stevenzqzq13 小时前
Android 协程 Channel 菜鸟教程
android·channel
遗悲风13 小时前
PHP伪协议全面解析:原理、常用场景、攻防实战与安全防护
android·安全·php
撩得Android一次心动13 小时前
Android Lifecycle 全面解析:掌握生命周期管理的艺术(源码篇)
android·lifecycle
stevenzqzq13 小时前
android fow 限流
android·限流·flow
冬奇Lab15 小时前
Android 15 显示子系统深度解析(二):图形缓冲区管理与HWC硬件合成
android
wings专栏15 小时前
Android触摸事件分发记录
android
aaajj15 小时前
【Android】声控拍照例子
android