My Nexus 6 had a hardware fault so I sent it off for RMA. Knowing in advance that it was highly likely the service people would factory reset it during the process of fixing it, I decided to do an adb backup. My device is not rooted.
I made two backups, I believe using the command
adb backup all -f backup-file.ab -shared -apk My device is encrypted, so I set a backup password.
It generated a 1.6gb backup file which sounded about right.
My phone got fixed and I picked it up yesterday, and as expected it had been factory reset. I went to restore it using
adb restore backup-file.ab
It brings up the restore prompt on my phone and I enter the backup password and it indicates the restore is starting - but then nothing happens.
Logcat says the following:
BackupManagerService: --- Performing full-dataset restore --- ContextImpl: Calling a method in the system process without a qualified user: android.app.ContextImpl.bindService:1285 com.android.server.backup.BackupManagerService$FullBackupObbConnection.establish:3150 com.android.server.backup.BackupManagerService$PerformAdbRestoreTask.run:5904 java.lang.Thread.run:818 <bottom of call stack BackupManagerService: Invalid restore data; aborting. BackupManagerService: Full restore processing complete.
I tried playing around with
abe.jar, but keep getting vague exceptions thrown on the
info parameters (that's with the Unlimited Strength Jurisdiction Policy files), but it's quite possible I'm doing something wrong.
Obviously since the device has already been factory reset there's no way I can re-run the backup if the archive is bad. Anyone got any suggestions might be going on?