不知道咋回事,手机系统就炸了。具体表现为开机1分钟后开始卡死,过几分钟软重启,然后循环往复。

在这种情况下,如果要备份恢复数据,就只能依靠TWRP的备份恢复功能了。然而TWRP的恢复功能非常暴力,直接全盘恢复/data分区。对于我需要替换ROM来说,没办法使用,就只能手动恢复了。

这位老哥给出了手动恢复软件的步骤,具体如下:
1. 解压备份 data.ext4.winxxx 文件
2. 找到软件位置,使用 adb install package.apk命令安装软件
3. 恢复软件数据:adb push data/data/com.example.app /data/data/com.example.app
4. 查找软件对应用户ID:dumpsys package com.example.app | grep userId
4. 设置软件数据文件夹的用户权限:chown -R $id:$id /data/data/com.example.app
5. 恢复SELinux Flags: restorecon -Rv /data/data/com.example.app

Github的这位老哥 写了一个自动恢复脚本,可以在Linux下运行,并半自动恢复所需的软件。我这边也提了一个PR,使那个脚本更好用。

按理来说本文就应该这么结束了,但是还有一个问题。非 Google Play 安装的软件可能触发 Google Play 的风控,导致掉购买。此时可以使用以下安装指令代替上面的安装软件的指令,设置安装源为 Google Play:

pm install -i "com.android.vending" package.apk
分类: 折腾

0 条评论

发表回复

Avatar placeholder

您的邮箱地址不会被公开。 必填项已用 * 标注