android - 备份管理服务 : Unable to finalize restore

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

更新应用程序后,我检查了一下,似乎所有用户的数据都被无缘无故地删除了。 检查 logcat 显示了一些可疑的行:

04-11 15:06:17.877 32429-17597/? I/Backup: [GmsBackupTransport] Current restore package : PackageInfo{8f777e2 com.my.package}

04-11 15:06:17.878 24281-26232/? I/BackupManagerService: Next restore package: RestoreDescription{com.my.package : STREAM}

04-11 15:06:22.910 24281-32369/? W/RestoreEngine: Restore manifest signatures do not match installed application for com.my.package

04-11 15:06:27.183 24281-26232/? E/BackupManagerService: Unable to finalize restore of com.my.package

04-11 15:06:27.184 24281-26232/? I/ActivityManager: Force stopping com.my.package appid=10389 user=0: clear data

04-11 15:06:27.189 24281-24345/? I/ActivityManager: Force stopping com.my.package appid=10389 user=-1: clearApplicationUserData

04-11 15:06:27.225 24281-26232/? D/BackupManagerService: Restore complete, killing host process of com.my.package

当出现此问题时,应用的 AndroidManifest 具有:

android:allowBackup="true"

出于测试目的,我生成了一个新的 apk

android:allowBackup="false"

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

什么可能导致此问题?

最佳答案

关键的一行是这一行:

Restore manifest signatures do not match installed application.

当您在 Release模式下备份并在 Debug模式下恢复时可能会发生这种情况,反之亦然。 BackupManagerService#restoreFinished() 中抛出异常.

要手动删除备份,请遵循 this步骤。

关于android - 备份管理服务 : Unable to finalize restore,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43347194/

相关文章:

android - 如何正确实现 SlidingMenu.OnOpenedListener?

c++ - boost 认识 child

android - 使用 Service、TimerTask 和 BroadcastReceiver 检查各种更新

android - 小米设备通话录音时 MediaRecorder.start() 启动失败

android - 更新搜索栏在播放音频时停止音频

java - 尝试在空对象引用上调用虚拟方法 'void android.view.View.measure(int, int)'

xml - 如何在 powershell 中打印 xml 元素的实际内容?

java - 类路径资源 Config.xml 中的 XML 文档无效

android - 如何正确处理startForegrounds的两个通知

android - 在服务类中显示 ProgressDialog