Swift Backup 备份 SD 卡 App 的一个坑

Author Avatar
Yuuta 7月 16, 2018
  • 在其它设备中阅读本文章

前几天我用 SwiftBackup 这款软件备份数据,备份完后发现,外置 SD 卡 中的 App 经过备份就无法启动了(读取其私有数据 I/O Error),可能是备份的锅。最终修复完成,这里记录一下修复过程,供大家参考。

0x00 把应用移到内置存储

Android 系统的移动 App 功能对存储的空间占用要求非常苛刻,经常会出现 “存储空间不足” 的错误,所以我们采用命令行来移动软件。

参考 https://stackoverflow.com/questions/23280804/how-to-move-spcific-apps-to-from-sd-card-using-adb

首先,获得 APK 所在路径

1
$ pm path <package>

第二步,移动到内置存储:

1
$ pm install -i <installer> -f -r <path> # path 就是刚刚得到的路径

这里简单说一下 installer。默认情况下,这个 installer 代表安装这个 app 的软件(如 Google Play),在移动完成后这个 installer 是空的,这可能给我们带来不便,所以我们需要在这里恢复 installer 为 Google Play(或其他)。(注:Google Play 商店包名是 com.android.vending)。

这样,我们就完成了 APK 的移动,请确认权限和 AppOps 是否恢复,然后进行下一步。

0x01 恢复数据

然后即可简单地用 SwiftBackup 恢复以前备份的数据了,具体操作就不说了,恢复完成即可正常使用。