¿Por qué mi Android no restaura los datos de la aplicación desde su copia de seguridad de Google Drive?

Estoy probando una nueva versión de nuestra aplicación que ahora es compatible con la copia de seguridad automática de Android (al orientar la API a más de 23).

Logré que el sistema hiciera una copia de seguridad de los datos de la aplicación dejándolo durante la noche (dos noches), pero cuando desinstalé la aplicación y la volví a instalar, no restauró los datos de la copia de seguridad.

Sin embargo, todavía puedo ver la copia de seguridad de la aplicación a Settings > System > Backup > App data > [appname]continuación y que se realizó la última copia de seguridad ayer.

Primero reinstalé la aplicación desde un apk descargado en el dispositivo. ¿Esto no desencadenaría la restauración como si se instalara desde Google Play o sobre adb?

Intenté desinstalar nuevamente e instalar sobre adb, pero aún no restaura los datos.

¿Hay alguna forma de obligarlo a restaurar los datos de la copia de seguridad?

Solo miré en logcat y noté esto justo después de que finaliza la instalación:02-21 14:20:44.034: V/BackupManagerService(914): restoreAtInstall pkg=<package> token=c restoreSet=1 02-21 14:20:44.037: D/BackupManagerService(914): MSG_RUN_RESTORE observer=null 02-21 14:20:44.037: D/BackupManagerService(914): Starting restore. 02-21 14:20:44.690: E/BackupManagerService(914): Required package metadata but got 02-21 14:20:44.700: I/BackupManagerService(914): Restore complete.

Respuestas (2)

adb shell bmgr restore <TOKEN> <PACKAGE>

Fuente

Entradas adicionales de OP incorporadas de los comentarios.

Parece que la razón por la que no se restauró automáticamente en mi caso fue que había muchos dispositivos diferentes respaldados en la misma cuenta de Google, y no sabía qué "conjunto" usar. Obtuve una lista de "conjuntos" con los adb shell bmgr listconjuntos de comandos y luego podría usar su comando con el conjunto deseado como este: adb shell bmgr restore <SET> <PACKAGE>.

Voy a publicar una respuesta alternativa a mi propia pregunta, a pesar de haber aceptado la respuesta anterior. El motivo es que desde entonces me he enterado, en mi dispositivo personal, de que Android Backup and Restore no funciona tan bien como esperaba, por lo que, si bien ese no fue el caso en el caso anterior, este podría ser el caso para otros personas que encuentran esta pregunta.

Aparentemente, si se restaura en un dispositivo diferente o incluso en el mismo dispositivo con un sistema operativo diferente, no restaurará nada más que los datos del sistema. Esto me sucedió cuando borré mi Moto X (2da generación) para instalar LineageOS en él.

Eso significa que la configuración de notificaciones, las contraseñas WiFi y las imágenes de fondo se guardarán, mientras que los datos de la aplicación (juegos guardados, configuración de la aplicación, etc.) no .

No estoy seguro de si las versiones más nuevas de Android vienen con una mejor funcionalidad de copia de seguridad y restauración, pero por ahora voy a usar una aplicación de copia de seguridad especializada (Helium en este momento) para mantener mis datos bastante respaldados, y también la usaré. al transferir a un nuevo dispositivo.

Si alguien tiene alguna experiencia positiva con la copia de seguridad y restauración propias de Android que realmente restauran los datos de la aplicación en un dispositivo nuevo, comparta cualquier detalle de las versiones y el dispositivo de Android :)

Actualización sobre helio

Aquí hay algunas palabras sobre mi experiencia con Helium hasta ahora.

Al principio me decepcionó un poco debido a algunas limitaciones de la aplicación. Con la versión gratuita, no puede configurar una copia de seguridad programada, por lo que tenía que iniciarla manualmente cada vez. Esto, sin embargo, se volvió extremadamente tedioso, ya que no puede guardar una "selección" de aplicaciones para hacer una copia de seguridad, por lo que tuvo que desplazarse por todas sus aplicaciones cada vez. Así que compré la versión premium, para poder configurar tareas de copia de seguridad programadas.

Pero durante un tiempo esto tampoco funcionó, porque la aplicación seguía perdiendo la "autorización" o lo que sea, así que tenía que conectarla a través de USB con la depuración USB habilitada y ejecutar la aplicación de escritorio Helium cada vez que quería hacer una copia de seguridad. . Y no puede simplemente activar una copia de seguridad, solo cambiar la hora programada hasta "en un minuto" y esperar...

Entonces eso pareció dejar de ser un problema, y ​​la autorización ya no se pierde, incluso durante los reinicios. Pero otro problema es que la copia de seguridad no se puede ejecutar si la pantalla está bloqueada. Me gustaría que la copia de seguridad se ejecutara automáticamente por la noche, mientras mi teléfono se está cargando y conectado a WiFi, pero solo me despierto con un mensaje que indica que la copia de seguridad no se ha podido ejecutar debido al bloqueo de pantalla. Esto es más fácil de arreglar, simplemente tocando el mensaje para ejecutar la copia de seguridad, pero significa que tengo que dejar el teléfono hasta que termine.

En general, funciona y me alegro de tener copias de seguridad (copias de seguridad en Google Drive), pero podría funcionar mucho mejor.

Todavía no he intentado restaurar, por lo que podría haber una llamada para otra actualización cuando haya visto lo bien que funciona :-)

Actualización 2 sobre helio

Comenzó a perder la autorización todo el tiempo nuevamente, lo que significa que las copias de seguridad automáticas no están ocurriendo, y tengo que volver a autorizar y volver a programar "ahora" para activarlas. Sería genial saber de otros usuarios de Helium, si tienen alguna experiencia con esto.

Actualización 3 sobre helio

No pierde tanto la autorización, lo que probablemente se deba a que mi teléfono no se reinicia tanto (tengo una batería nueva). Además, ha habido algunas actualizaciones de Helium, por lo que ahora puede guardar selecciones de aplicaciones, lo cual es realmente útil si desea actualizar las aplicaciones de las que respalda en una copia de seguridad recurrente (casi tan útil como si pudiera editar la configuración de la copia de seguridad recurrente) .