Android 备份管理器仅适用于本地传输

Android Backup Manager only works on Local transport

我已经尝试在我的应用程序上实施备份一个多月了,但直到现在都没有成功。 我已经完成了 Google 文档告知的每个步骤: 在 Google 服务上注册 清单更改(allowBackup、backupAgent 和 backup.api_key(google 服务注册)等等...

清单部分:

<application
   android:allowBackup="true"
   android:backupAgent="my.package.MyBackupManagerClass">

<meta-data android:name="com.google.android.backup.api_key" 
   android:value="my-generated-key-by-google-service" />

事实上,备份 正在工作,但仅使用本地传输,我使用 bmgr backup/run/restore:

进行了测试
bmgr list transports
  * android/com.android.internal.backup.LocalTransport
    com.google.android.gms/.backup.BackupTransportService

但是当尝试使用 Google 传输(云:com.google.android.gms/.backup.BackupTransportService)时 它不起作用,甚至没有从 [=16= 调用我的 onCreate() ].

我想提的一点是,当我运行: bmgr备份 bmgr 运行

在 运行 命令之后,在 logcat 上显示了很多 "Now staging backup of " (也在此列表中显示了我的应用程序包)但它发生得非常快而且似乎没有其实是在做备份,毕竟连我的MyBackupHelper.onCreate()都没有调用:

02-12 21:13:28.889: D/BackupManagerService(547): Now staging backup of com.google.android.talk
02-12 21:13:28.904: D/BackupManagerService(547): Now staging backup of com.google.android.dialer
02-12 21:13:28.907: D/BackupManagerService(547): Now staging backup of com.android.providers.settings
02-12 21:13:28.910: D/BackupManagerService(547): Now staging backup of com.sirma.mobile.bible.android
02-12 21:13:28.914: D/BackupManagerService(547): Now staging backup of com.android.sharedstoragebackup
02-12 21:13:28.919: D/BackupManagerService(547): Now staging backup of com.google.android.gm
02-12 21:13:28.922: D/BackupManagerService(547): Now staging backup of com.android.providers.userdictionary
02-12 21:13:28.926: D/BackupManagerService(547): Now staging backup of com.google.android.apps.genie.geniewidget
02-12 21:13:28.963: I/GmsBackupTransport(1409): Next backup will happen in 86399923 millis.
02-12 21:13:28.967: I/BackupManagerService(547): Backup pass finished.

我有同样的情况 - 当我 运行 手动备份(通过 adb shell 命令)正在工作时,但仅使用本地传输。对我来说,解决方案是发布 Google Play 服务,因为我在没有发布 GP 服务的情况下测试了数据备份服务。如果您使用 Proguard

,还要检查您的 Proguard 配置