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 unpack or 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?


1 Answer 1


I got the same error until I realized I was using the wrong password. After entering the correct password, the restore proceeded normally.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .