54 votos

Copia de seguridad de Google: Múltiples dispositivos usando la misma cuenta: ¿qué sucede en Restaurar?

No es nada nuevo que se pueden usar varios dispositivos Android con una sola cuenta de Google . Al encender un nuevo dispositivo por primera vez se pregunta si uno quiere almacenar sus datos con Google, que entonces siempre sincronizaría "algunas cosas" con los servidores de Google, básicamente

  • algunos datos de aplicación (si las aplicaciones lo apoyan explícitamente)
  • Contraseñas de Wi-Fi
  • marcadores del navegador
  • una lista de las aplicaciones instaladas desde Google Play
  • palabras añadidas al diccionario utilizado por el teclado en pantalla
  • la mayoría de sus configuraciones personalizadas

Los detalles pueden encontrarse en el Panel de control de Google . Las preguntas relevantes aquí que cubren esos temas incluyen:

El API de desarrolladores en Google Backup da una visión más profunda de cómo se supone que funciona el material de respaldo (y varias preguntas aquí muestran cómo funciona realmente, es decir, a veces lo hace, a veces sólo en parte, y a veces no del todo). Aparte de la fiabilidad y el hecho de que no todo el mundo quiere sus datos privados en la nube (e incluso mencionó la referencia de la API 2 advierte: Android no garantiza la seguridad de sus datos mientras usa la copia de seguridad. Siempre debe tener cuidado al usar las copias de seguridad para almacenar datos confidenciales, como nombres de usuario y contraseñas. ), mi principal pregunta es:

Habiendo hecho una copia de seguridad de los datos de múltiples dispositivos usando la misma cuenta:

  • ¿qué pasaría con un dispositivo de restablecimiento de fábrica que se ha utilizado de esa manera antes? ¿Sería reconocido y sólo se restauraría lo que se ha usado antes?
    (la identificación del dispositivo podría tener lugar, por ejemplo, a través del IMEI (pero no a través del Android_ID, como podría ser se ha ido con un reajuste de fábrica ) -- y esta podría ser la razón del comportamiento descrito en La respuesta de Nalum )
  • ¿qué se restauraría en un dispositivo (nuevo/reinicio de fábrica) que acabas de inicializar por primera vez con esta cuenta de Google?
    (si los dispositivos se identificaran con las copias de seguridad en la cuenta de Google utilizada, esto podría desencadenar una acción especial para "nuevo dispositivo", por ejemplo, "restaurar todo, dispositivo cambiado". -- o "restaurar todo desde el dispositivo X que ya no está conectado, ya que probablemente fue reemplazado!" -- pero atenerse a "restaurar sólo lo que estaba en ese dispositivo" en caso de un restablecimiento de fábrica)

El trato es: Si uno tiene varios dispositivos, a menudo se usan para asuntos específicos, así que uno no quiere todo en todos los dispositivos. Como no he visto ninguna manera de elegir qué datos respaldar (por ejemplo, para excluir esos "datos sensibles" de los que se nos ha advertido: las contraseñas de WiFi pertenecerían a esa categoría), asumo que tampoco hay elección en la restauración. Entonces, ¿cómo se maneja esto?

0 votos

Otras dos fuentes que puede ser una lectura interesante en este son: ¿La copia de seguridad y restauración de Google para Android es específica del dispositivo? (que describe el "desorden" de al menos las versiones de Android anteriores a la 4.x), y El servicio automático de copia de seguridad y restauración de Android es genial... cuando funciona . Ambos reflejan en parte mi pregunta, pero ninguno la responde. Tanto buscar el tema en Google.

3 votos

La única aportación que puedo hacer es que es muy poco fiable. Ojalá hubiera un botón de copia de seguridad/restauración manual que pudiera usar. El otro día reinicié mi tablet y no restauró todas mis aplicaciones y configuraciones, sin embargo las veces anteriores sí lo hizo. No me gusta no poder confiar en ello.

0 votos

Como ni siquiera una recompensa es capaz de sacar a la luz los detalles, supongo que las posibilidades de encontrar una "respuesta completa" son más bien escasas. Así que sabemos más o menos lo mismo que antes: que puede trabajar "de una manera o de otra", uno tiene que tratar de averiguarlo, y puede tener suerte o no. Gracias, Google, por una herramienta poco fiable y sin documentación para el usuario :( Así que la recompensa es para Nalum: aunque la respuesta es anterior a la recompensa, es lo mejor que tenemos :)

44voto

Andy Brudtkuhl Puntos 1714

Hablemos de sets, nena

El servicio de copias de seguridad de Android tiene un concepto llamado set El conjunto de todos los datos respaldados de un dispositivo (en un transporte pero eso es un detalle). Cada conjunto está identificado por una cadena única, como el IMEI del dispositivo. Cuando se hace una copia de seguridad de una aplicación (o de la lista de aplicaciones instaladas), sus datos de copia de seguridad van al conjunto asociado al dispositivo del que se hace la copia de seguridad. Todos los conjuntos siguen siendo específicos de la cuenta de Google del usuario. Si borras el dispositivo y se lo vendes a otra persona, esta no podrá acceder al conjunto de ese dispositivo a menos que pueda acceder a tu cuenta de Google.

Comportamiento por defecto

Cuando se instala una aplicación o se restaura la lista de aplicaciones de un dispositivo, el sistema de copia de seguridad primero busca en el conjunto de ese dispositivo los datos de copia de seguridad de ese paquete. Si no encuentra ninguno (ya sea porque se trata de un dispositivo completamente nuevo sin datos de respaldo o porque ese paquete nunca se ha instalado en ese dispositivo), expandirá la búsqueda a otros conjuntos. (Si hay una opción, usará el último conjunto que se usó para una restauración completa del dispositivo).

Por lo tanto, cuando configures un nuevo dispositivo, restaurará la lista de aplicaciones desde la copia de seguridad de un dispositivo antiguo, y restaurará cada aplicación desde la copia de seguridad del dispositivo antiguo. Si tenías una aplicación instalada en un dispositivo y la instalas en otro, la aplicación se restaurará con los datos del dispositivo antiguo. En cualquier caso, los datos se copian ahora en el nuevo de los dispositivos, lo que significa que los datos de respaldo de los dos dispositivos están separados de ahora en adelante.

Después de reiniciar un dispositivo, se restaurará desde la última copia de seguridad de ese dispositivo si existe, y en su defecto, desde la copia de seguridad de algún otro dispositivo si existe, pero comenzará a crear su propio conjunto a partir de entonces. Por eso los dos dispositivos de Nalum no ven las aplicaciones de respaldo del otro: cada uno está restaurando desde sus propios respaldos.

Fuente

Este mecanismo no tiene ninguna documentación de cara al usuario, ya que se supone que hace automáticamente lo correcto, pero el código está disponible .

bmgr : uso básico

Como Izzy encontró, el bmgr te da algo de control sobre este proceso. Está pensada para ayudar a los programadores a probar y depurar la integración de la copia de seguridad en sus aplicaciones. Puedes usar esta herramienta en un adb shell para activar las copias de seguridad y las restauraciones de los paquetes elegidos, borrar los datos de las copias de seguridad de los paquetes, e incluso una restauración de todo el dispositivo.

No intentes usarlo en un dispositivo de shell excepto como root Necesitas el nivel del sistema android.permission.BACKUP para hacer algo interesante con él.

Puedes hacer que una aplicación actualice sus datos respaldados inmediatamente:

bmgr backup com.shadowburst.showr
bmgr run

(o cualquiera que sea el nombre del paquete de la aplicación). Normalmente no es necesario hacerlo, ya que las aplicaciones solicitan sus propias copias de seguridad cada vez que cambian sus datos, pero esto te permite trabajar en una aplicación mal escrita. Para restaurar un paquete a partir de los datos respaldados, se elegiría por defecto:

bmgr restore com.shadowburst.showr

pero de nuevo, esto sólo hará lo que el dispositivo haría por sí solo, así que no debería necesitar usarlo. Ten en cuenta también que el dispositivo ya necesita ser instalado para que esto funcione.

Más control

Ahora, para las cosas que el sistema de respaldo no hará en su encendido. Para ver qué conjuntos de datos respaldados están disponibles:

bmgr list sets

y obtendrás una salida como esta:

  3ff7800e963f25c5 : manta
  3f0e5c90a412cca7 : manta
  3dd65924a70e14c8 : TF101
  3baa67e9ce029355 : m0

El número de hexágono de 64 bits de la izquierda es un ficha . Necesitarás esto en un minuto. La cosa de la derecha es un nombre (relativamente) amigable para el dispositivo que posee el set. Por ejemplo, manta es el nombre en clave de la nexus-10 ; TF-101 se refiere al original asus-eee-pad-transformador . Una vez que hayas descubierto qué juego quieres, puedes restaurar una aplicación de ese juego usando su ficha:

bmgr restore 3ff7800e963f25c5 com.shadowburst.showr

Puede añadir más nombres de paquetes al final del comando para restaurar varios paquetes a la vez, o puede especificar ningún nombre de paquete (sólo el token) para restaurar cada aplicación con datos en ese conjunto (es decir, hace un sistema completo restaurar).

Finalmente, puedes borrar los datos de una aplicación del conjunto actual:

bmgr wipe com.shadowburst.showr

Esto hará que su próxima operación de respaldo comience de cero. Esto puede ser útil después de desinstalar una aplicación, si un error en la aplicación corrompió sus datos de respaldo y no quiere que se restauren.

No se puede hacer que un aparato empiece a escribir en un juego diferente, ni se puede borrar un juego entero.

0 votos

Una respuesta muy completa, ¡gracias, Dan! El "control manual" (desde dónde restaurar) es una ventaja añadida que estaba buscando. Me gustaría que hubiera una opción de usuario para todo esto, como una ventana emergente cuando se inicia la restauración: "¿Desea restaurar?"->"¿Desde qué conjunto?"->"Seleccionar detalles (restauración completa, xxx...)". Aunque puede estar bien que una aplicación sepa "hacer automáticamente lo correcto", a mí me gusta tener el control, y a veces incluso es necesario. Además, una restauración puede ser necesaria en casos distintos de los reinicios de fábrica y los nuevos dispositivos, por lo que debería haber una manera de que el usuario la active...

7voto

Izzy Puntos 45544

Lo que sigue no es, de lejos, una respuesta a la pregunta, pero podría arrojar algo de luz sobre algunos detalles:

Algunas piezas extraídas de la API de respaldo

Aunque la API está dirigida principalmente a los desarrolladores, hay algunos hechos que podríamos extraer para nuestro caso. En la siguiente lista, cursiva marcar las citas de la documentación de la API.

  • Android realiza automáticamente una operación de restauración cuando se instala la aplicación y existe una copia de seguridad de los datos asociados al usuario.
    → esto puede significar dos cosas:
    • si una aplicación es compatible con el API de Google Backup y el usuario tiene habilitado Google Backup, los datos de copia de seguridad disponibles se restaurarán automáticamente en la instalación. Lo bueno es que cuando se instala por primera vez una aplicación usada en un solo dispositivo, se instala en un segundo dispositivo.
    • Las copias de seguridad sólo están asociadas a la cuenta de Google, no al dispositivo ( y existe una copia de seguridad de los datos asociados con el usuario ) -- o el otro hecho fue simplemente ignorado como irrelevante para este caso especial ("la aplicación está instalada")
  • El transporte de respaldo es el componente del lado del cliente del marco de respaldo de Android, que es personalizadas por el fabricante del dispositivo y el proveedor de servicios. El transporte de reserva puede diferir de un dispositivo a otro [...]
    → esto podría explicar la falta de fiabilidad cuando se trata de diferentes dispositivos (o diferentes versiones de Android).
    (énfasis mío)
  • No se garantiza que la copia de seguridad de los datos esté disponible en todos los dispositivos con Android.
    (sin comentarios)
  • Google proporciona un transporte de respaldo con el servicio de respaldo de Android para la mayoría de los dispositivos con Android que funcionan con Android 2.2 o superior.
    → aquí tenemos la versión mínima de Android necesaria para que Google Backup esté disponible: Froyo, alias Android 2.2
  • Para obtener su Clave de Servicio de Respaldo, regístrese en el Servicio de Respaldo de Android. [...]
    → cada aplicación debe tener su propia clave. No hay un "por qué" descrito, pero una buena suposición: aislar las copias de seguridad para que ninguna aplicación pueda leer las copias de seguridad de otra aplicación (clave equivocada; en cuanto a las copias de seguridad de otro usuario: cuenta equivocada)
  • Durante el desarrollo de su aplicación, puede iniciar una operación de copia de seguridad inmediata desde el Administrador de Copias de Seguridad con la herramienta bmgr.
    → parece que hay una forma de activar manualmente las copias de seguridad? Excavemos en eso más tarde. ↓
  • Cuando llega el momento de restaurar los datos de la aplicación, el Administrador de Copias de Seguridad llama a su agente de copias de seguridad onRestore() método.
    → esto subraya de nuevo el primer elemento de esta lista: primero debe instalarse la aplicación, luego se utilizan sus propias implementaciones para restaurar sus datos. En una segunda mirada: si el app-restore falla, no habrá un data-restore para las aplicaciones fallidas -- hasta que las instale manualmente a través de Google Play. Entonces, como se muestra en el primer punto, los datos deben ser restaurados automáticamente a través de Copia de seguridad de Google bajo las condiciones explicadas (debe haber sido respaldado con él, la misma cuenta, etc.)
  • Hacer una copia de seguridad de otros archivos
    → perdóneme no citar el contenido (técnico) de ese capítulo, pero en resumen: sólo los archivos del almacenamiento interno pueden ser respaldados de acuerdo a él.

Algunas piezas extraídas de la bmgr API

  • Proporciona comandos para inducir el respaldo y restaurar las operaciones [...]
    → parece que aquí hay una forma de desencadenar acciones manualmente si el "automatismo" falla
  • Estos comandos se acceden a través del shell adb.
    → esto no necesita ninguna explicación :)
  • adb shell bmgr backup <package>
    → OK, así que esta acción está ligada a las aplicaciones. Supongo que si conoces el nombre del paquete del proveedor de datos, esto debería funcionar también (por ejemplo. com.android.providers.settings para la configuración del sistema, o com.android.providers.telephony para SMS/MMS, etc.)
  • puedes forzar todas las operaciones de respaldo pendientes para que se ejecuten inmediatamente usando el bmgr run comando
    → el primer comando sólo "programa" copias de seguridad. Habiendo disparado todos los paquetes, esto puede ser usado para ejecutarlos inmediatamente.
  • adb shell bmgr restore <package>
    → esto parece demasiado bueno para ser verdad, ¿verdad? Exactamente, porque: El Administrador de Copias de Seguridad instanciará inmediatamente el agente de copia de seguridad de la aplicación y lo invocará para su restauración. Sólo datos, ya que la aplicación ya necesita estar ahí (como se llaman sus rutinas).

Así que en resumen: bmgr puede utilizarse para activar las copias de seguridad de las aplicaciones compatibles con Google Backup, que has instalado, y puede activar la restauración de datos para las mismas. No se puede usar para activar una restauración completa, al menos eso no está documentado aquí.

0 votos

Sé que esto es viejo, y alguien podría atacarme por hacer un comentario sobre una pregunta tan vieja, pero este es el único resultado más relevante que he podido encontrar, no importa lo mucho que busqué en Google. Acabo de comprar un teléfono nuevo y cuando la configuración del dispositivo se inicia, no está mostrando mi viejo Nexus 5x como un dispositivo para restaurar, y yo sé de copia de seguridad y restauración se habilitó en el 5x. El 5x ha muerto por completo, así que no puedo hacer nada en él para ayudar. Y al hacer bmgr lista de conjuntos, se muestra el mismo dispositivo equivocado exacta que mostró durante setup.... cualquier consejo será muy apreciada.

1 votos

@Soundfx4 ¿Puedo sugerir que hagas una pregunta separada y dedicada? No dudes en enlazarla aquí como referencia. No voy a ser capaz de ayudarle con ese problema específico de todos modos, ya que no estoy usando Google Backup.

1 votos

Es una idea mucho mejor, gracias. En Internet nunca hay suficiente información útil. Escribiré uno cuando tenga tiempo. Gracias por la respuesta.

6voto

lapis Puntos 119

Más información sobre la copia de seguridad de Google. Cuando flasheé un firmware personalizado no restauró las aplicaciones como esperaba. En Configuración -> Copia de seguridad y restablecimiento estaba mostrando "Copia de seguridad de la caché privada de depuración", y bmgr list sets no dio ningún resultado.
Resolví mi problema haciendo estos pasos en adb shell :
$ bmgr transport com.google.android.backup/.BackupTransportService
$ bmgr list sets 3a0a00a516a1daf1 : LT22i
Sin embargo, esto no fue suficiente. No empezó a instalar aplicaciones. Esto mostró la razón del porqué:
$ bmgr list sets 3179e4ab08d74930 : LT22i 3a0a00a516a1daf1 : LT22i
Había creado un nuevo conjunto, aunque el IMEI obviamente era el mismo. De todos modos, este era el arreglo:
$ bmgr restore 3a0a00a516a1daf1 (la identificación que mostró la primera vez)
$ bmgr run (para estar seguros)
Entonces empezó a descargar las aplicaciones.

3voto

lindelof Puntos 9802

Mi experiencia ha sido que cada dispositivo tiene su propio respaldo. Esto lo consigo por jugar con mi Nexus 7 y mi Galaxy S II. Aparte de eso, no lo sé.

Aplicaciones:

Mi Nexus 7 tiene estas aplicaciones Cáustico , DC Comics y Comidas de 20 minutos que al reiniciar la fábrica de mi Galaxy S II no están instalados en la Galaxy S II.

Mi Galaxy S II tiene estas aplicaciones DriveDroid y Los japoneses humanos que al reiniciar de fábrica mi Nexus 7 no están instalados en el Nexus 7.

Las aplicaciones son compatibles con ambos dispositivos, por lo que la incompatibilidad no puede ser la razón por la que no se instalen en el otro dispositivo respectivo.

Data:

En cuanto a la Wifi y otros datos no estoy seguro ya que cada vez que he configurado la Wifi en cada dispositivo durante la configuración inicial de Android. En cuanto a otras cuentas de Google que puedas tener, parece que no se copian en cada dispositivo y lo mismo ha ocurrido con las cuentas de Skype y GitHub en cada dispositivo.

1 votos

Sólo las aplicaciones que se han instalado en ese dispositivo se vuelven a instalar desde la copia de seguridad. Por ejemplo, la aplicación DriveDroid está instalada en mi teléfono y no se descarga en el Nexus 7 después de un restablecimiento de fábrica. Tengo Caustic en el Nexus 7 que no se descarga en el Galaxy S II entre otras aplicaciones.

0 votos

Gracias -- He integrado esto con la respuesta. Como hay informes bastante controvertidos: ¿Sería tan amable de actualizar su respuesta con las versiones de Android de los dispositivos utilizados? Gracias de antemano. Para despejar nuestra conversión, también voy a ir y borrar algunos de mis comentarios (no dude en hacer lo mismo para los que ya integradet en la propia respuesta).

0 votos

Así que ahora viene el lío: si no hay restauración cruzada, ¿qué hacer si uno de los dispositivos se "rompe" (o quieres sustituir los dos por uno nuevo) y quieres "fusionar"? Supongo que no soy el único que echa de menos un buen manual...

1voto

kaepora Puntos 11

Hice una copia de seguridad de las cosas usando la copia de seguridad incorporada de Google y la copia de seguridad de Helio antes de borrar e instalar la ROM personalizada de Carbono en un Nexus 4 (de las existencias de KitKat). Esperaba que Google restaurara aplicaciones, configuraciones, etc. como lo ha hecho antes cuando he restaurado este teléfono, pero no fue así.

Probé el helio también, pero tampoco me gustó, incluso con las restauraciones manuales de "Descarga de PC", dijo "restaurado" pero el Wifi y los datos de la aplicación todavía no están ahí.

Corriendo bmgr restore <xxx> restauración completa y bmgr run como se detalló anteriormente, activó la restauración completa de Google y funcionó de maravilla, ¡me salvó la vida!

Google podría hacer un mejor esfuerzo, especialmente si quieren competir con la idea de Apple de "sólo funciona"... Aún así, me encanta la capacidad de hacking de Android a pesar de sus dificultades.

PreguntAndroid.com

PreguntAndroid es una comunidad de usuarios de Android en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X