MIUI EU 系统升级后应用无法访问自己在 /data/data 下的目录

2018-04-06 19:45:02 +08:00
 mimzy

手机是小米 5X,原系统是 8.1.25 V1,今天手贱点了检查更新,未双清的情况下升级到了 8.3.29 V2,原系统的 Recovery 是 TWRP 3.1.1-0,装有 SuperSu、App Ops、Xposed,均未提前卸载。

系统更新重启以后,非系统应用大部分无法点开,报错通常类似于 android.database.sqlite.SQLiteCantOpenDatabaseException。能点开的应用失去登录信息,一旦尝试登录就会崩溃。经过排查,现在感觉是应用不能访问自己在 /data/data 下的目录,比如打开湾区日报的错误日志里有 java.io.FileNotFoundException: /data/user/0/co.wanqu.Android/lib-main/dso_lock (Permission denied)

目前找到的方法是卸载应用,重新安装,但这样数据会丢失。不知道有没有遇到过这种情况的,我该怎么办…

9970 次点击
所在节点    Android
5 条回复
iwtbauh
2018-04-06 20:07:55 +08:00
1. 权限错了?改回来试试,每个 app 都有自己的 uid,对应文件的属主和权限改正确
2. 尝试禁用 SELinux
0312birdzhang
2018-04-06 21:57:00 +08:00
目测是 /data 分区加密了,twtp 下面格式化重新安装吧
WordTian
2018-04-06 22:11:09 +08:00
升级会覆盖 /system 分区,你的 supersu 放在那个分区上的文件被干掉了,所以你没有 root 权限了,所以你凡是涉及到 root 权限的应用都用不了了,就是这么简单
mimzy
2018-04-06 23:12:31 +08:00
@iwtbauh #1 如果我没找错的话,发现了 /data/system/packages.xml 这个文件,里边有每个应用的 userId,不过不知道怎么和 `u0_a107` 这种 /data/data 目录下的所有者对应起来。

@WordTian #3 我 root 权限没了以后又装了 magisk,现在还需要 root 权限的应用应该能授权回来吧,而且本来不需要 root 权限的应用也都出了问题…_(:3 」∠ )_

暂时找到一个麻烦的方法,用钛备份备份数据,将应用的数据清空掉再恢复,这样打开就没问题了…比我之前卸载后重新安装,手动从 /data/data 下对应的目录拷贝数据还是方便多了。
iwtbauh
2018-04-07 16:33:44 +08:00
@mimzy ls -n 即可

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/444719

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX