BackupManagerService:无法完成还原

时间:2017-04-11 13:21:11

标签: android xml android-service android-backup-service

在对应用程序进行更新后,我已经检查过,似乎所有用户的数据都被删除了。 检查logcat会显示一些可疑的行:

  

04-11 15:06:17.877 32429-17597 /? I / Backup:[GmsBackupTransport]当前恢复包:PackageInfo {8f777e2 com.my.package}

     

04-11 15:06:17.878 24281-26232 /? I / BackupManagerService:下一个恢复包:RestoreDescription {com.my.package:STREAM}

     

04-11 15:06:22.910 24281-32369 /? W / RestoreEngine:恢复清单签名与com.my.package

的已安装应用程序不匹配      

04-11 15:06:27.183 24281-26232 /? E / BackupManagerService:无法完成com.my.package的恢复

     

04-11 15:06:27.184 24281-26232 /? I / ActivityManager:强制停止com.my.package appid = 10389 user = 0:清除数据

     

04-11 15:06:27.189 24281-24345 /? I / ActivityManager:强制停止com.my.package appid = 10389 user = -1: clearApplicationUserData

     

04-11 15:06:27.225 24281-26232 /? D / BackupManagerService:恢复完成,终止com.my.package的主机进程

发生此问题时,应用的AndroidManifest有:

android:allowBackup="true"

出于测试目的,我已经使用

生成了一个新的apk
android:allowBackup="false"

将其更改为false后,它不会发生。

什么可能导致这个问题?

1 个答案:

答案 0 :(得分:2)

关键是这一行:

  

还原清单签名与已安装的应用程序不匹配。

在发布模式下备份并在调试模式下进行恢复时可能会发生这种情况,反之亦然。 BackupManagerService#restoreFinished()中会抛出异常。

要按照this步骤手动删除备份。