问题
I have successfully backed up data from my device. On reinstallation, I get my first backup data restored. But my problem is further calls to backup don't get the data sent or saved by the Transport.
When I make calls to the Backup service, this is my log:
D/BackupManagerService(748): Now staging backup of com.company.app
D/PerformBackupTask(748): invokeAgentForBackup on @pm@
I/BackupRestoreController(748): Getting widget state for user: 0
I/PerformBackupTask(748): no backup data written; not calling transport
D/PerformBackupTask(748): starting agent for backup of BackupRequest{pkg=com.company.app}
D/BackupManagerService(748): awaiting agent for ApplicationInfo{fe3f4f5 com.company.app}
D/BackupManagerService(748): agentConnected pkg=com.company.app agent=android.os.BinderProxy@7166327
I/BackupManagerService(748): got agent android.app.IBackupAgent$Stub$Proxy@2de849d4
D/PerformBackupTask(748): invokeAgentForBackup on com.company.app
D/BackupHelperDispatcher(31817): handling existing helper 'data_file' android.app.backup.FileBackupHelper@34d086c5
I/BackupRestoreController(748): Getting widget state for user: 0
I/GmsBackupTransport(11651): K/V backup for com.company.app aborted by rate limiter. next=1437068418200, current=1436978369321
I/BackupManagerService(748): Backup pass finished.
Two lines concern me:
I/PerformBackupTask(748): no backup data written; not calling transport
I/GmsBackupTransport(11651): K/V backup for com.company.app aborted by rate limiter. next=1437068418200, current=1436978369321
Are these normal ?
When I do make subsequent calls to backup, I can see my data being stored locally in my designated file, so I can only assume the issue is with the Transport.
I'm wondering if I need to version my data in some way?
Does the Transport overwrite existing data by default?
回答1:
The "aborted by rate limiter" message gives you two dates in epoch format (i.e. next=1483295674399, current=1483213981015).
You cannot do backup before the date/time stated by next. To know which time is that go to http://www.epochconverter.com/.
Meanwhile you can use other transport as stated by the previous answer.
Regards, Alberto
回答2:
For "aborted by rate limiter", you can try bmgr list transports
, and bmgr transport WHICH
to switch to the local transport which seems has no rate limit.
$ adb shell bmgr list transports
android/com.android.internal.backup.LocalTransport
* com.google.android.gms/.backup.BackupTransportService
$ adb shell bmgr list transports
* android/com.android.internal.backup.LocalTransport
com.google.android.gms/.backup.BackupTransportService
来源:https://stackoverflow.com/questions/31436547/android-data-backup-aborted-by-rate-limiter