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)
相关推荐
海雅达手持终端PDA3 小时前
巡线、深井、爆管抢修与极寒水网的硬件矩阵怎么配?海雅达水务巡检终端PDA选型指南
android·物联网·5g·集成测试·能源·政务
恋猫de小郭5 小时前
Flutter 开始支持 Jetpack Compose Platform View
android·前端·flutter
三少爷的鞋18 小时前
Android 架构七条铁律:架构师真正设计的不是代码,而是秩序
android
xiangxiongfly91519 小时前
Android GsonFactory总结
android·gson·gsonfactory
WythePlus21 小时前
Android 14 SELinux策略深度解析
android·安全策略·selinux策略
俩个逗号。。1 天前
Kotlin flow 详解
android·开发语言·kotlin
橙光成长1 天前
android-ad-cleaner:android免 Root 批量关闭系统开屏与营销推送
android·1024程序员节
深圳雨林凯AI1 天前
图案裂变的底色衰减:alpha通道、亮度对比与白墨分色的量化拆解
android
mmsx1 天前
Android 模块化收口:能力组合框架、手写 LifecycleOwner 与热修复共存
android
恋猫de小郭1 天前
Flutter 可以更直接地调用原生 API 了,Dart Direct Native Interop
android·前端·flutter