Mi Nexus 6 tenía un fallo de hardware así que lo envié a RMA. Sabiendo de antemano que era muy probable que la gente del servicio técnico lo reseteara de fábrica durante el proceso de reparación, decidí hacer una copia de seguridad adb. Mi dispositivo no está rooteado.
Hice dos copias de seguridad, creo que utilizando el comando adb backup all -f backup-file.ab -shared -apk
Mi dispositivo está encriptado, por lo que establecí una contraseña de seguridad.
Generó un archivo de copia de seguridad de 1,6 gb, lo que me pareció correcto.
Mi teléfono se arregló y lo recogí ayer, y como era de esperar se había restablecido de fábrica. Fui a restaurarlo usando adb restore backup-file.ab
Aparece el aviso de restauración en mi teléfono e introduzco la contraseña de la copia de seguridad y me indica que la restauración se está iniciando, pero luego no pasa nada.
Logcat dice lo siguiente:
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.
He intentado jugar con abe.jar
pero sigue recibiendo excepciones imprecisas en el unpack
o info
(eso es con los archivos de política de jurisdicción de fuerza ilimitada), pero es muy posible que esté haciendo algo mal.
Obviamente, ya que el dispositivo ha sido restablecido de fábrica no hay manera de que pueda volver a ejecutar la copia de seguridad si el archivo es malo. ¿Alguien tiene alguna sugerencia podría estar pasando?