1

我已经使用BackupRestore. 我去 Android Backup Service 注册了一个密钥。我得到以下信息:

您的密钥是:AEdPqrEAAAAIW4p30C1GTNjzBOqWrb0clI7_OCWxm3ddIgkKhw 此密钥适用于具有包名称的应用程序:

com.example.android.backuprestore 在您的 AndroidManifest.xml 文件中提供此键,并在 <application> 元素中添加以下元素:

<元数据 android:name="com.google.android.backup.api_key" android:value="AEdPqrEAAAAIW4p30C1GTNjzBOqWrb0clI7_OCWxm3ddIgkKhw" />

当我启动应用程序并选择“培根”+“番茄”时,我可以看到使用dumpsys backup. 所以我强制运行它(bgmr run=> 待处理消失)并卸载应用程序。

当我恢复它时,logcat 告诉我“没有可用的恢复数据”,当然,设置没有显示正确的信息。

有什么想法我可能做错了吗?

4

2 回答 2

0

当您卸载应用程序时,备份数据被删除。查找日志

BackupManagerService: Removing backed-up knowledge of <app package>

似乎备份/恢复过程可能因制造商和设备而异。通过使用 nexus 设备卸载和安装,测试备份和还原文档可以很简单,但我不希望在每台设备上都有相同的行为和一致性。

另请参阅此答案https://stackoverflow.com/a/13648673/1598308

于 2016-11-30T21:20:23.590 回答
0

几年后也有同样的错误。这可能是因为您使用的是 Google Transport 而不是 LocalTransport。Google 对每个备份施加了 24 小时的速率限制,因此它试图创建一个备份,但它没有,并且恢复失败。

  1. 运行adb shell bmgr list transports以查看传输。
  2. 运行adb shell bmgr transport android/com.android.internal.backup.LocalTransport将传输更改为本地。
于 2018-02-20T02:58:00.587 回答