V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
mimzy
V2EX  ›  Android

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

  •  
  •   mimzy · 2018-04-06 19:45:02 +08:00 · 5334 次点击
    这是一个创建于 2183 天前的主题,其中的信息可能已经有所发展或是发生改变。

    手机是小米 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)

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

    5 条回复    2018-04-07 16:33:44 +08:00
    iwtbauh
        1
    iwtbauh  
       2018-04-06 20:07:55 +08:00 via Android   ❤️ 1
    1. 权限错了?改回来试试,每个 app 都有自己的 uid,对应文件的属主和权限改正确
    2. 尝试禁用 SELinux
    0312birdzhang
        2
    0312birdzhang  
       2018-04-06 21:57:00 +08:00 via iPhone   ❤️ 1
    目测是 /data 分区加密了,twtp 下面格式化重新安装吧
    WordTian
        3
    WordTian  
       2018-04-06 22:11:09 +08:00 via Android   ❤️ 1
    升级会覆盖 /system 分区,你的 supersu 放在那个分区上的文件被干掉了,所以你没有 root 权限了,所以你凡是涉及到 root 权限的应用都用不了了,就是这么简单
    mimzy
        4
    mimzy  
    OP
       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
        5
    iwtbauh  
       2018-04-07 16:33:44 +08:00 via Android   ❤️ 1
    @mimzy ls -n 即可
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   1583 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 32ms · UTC 16:58 · PVG 00:58 · LAX 09:58 · JFK 12:58
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.