Android full backup sin root con adb

Son muchas las herramientas que existen para realizar backups de aplicaciones y sistema, entre las más populares Titanium Backup o ROM Manager. Lo malo de estas aplicaciones es que se requiere de un acceso root al dispositivo para poder hacer uso de todas las features y poder hacer un full backup.

Sin embargo desde Android 4.0 ICS y gracias a la herramienta adb del SDK de Android se pueden realizar backups de aplicaciones, SD, sistema o de todo el dispositivo desde la linea de comandos y sin necesidad de acceso root.

Android Debug Bridge es una utilidad del SDK de Android que permite comunicarse con un dispositivo Android desde la linea de comandos.

La herramienta adb suele utilizarse para ejecutar una shell e interactuar con el teléfono, instalar una APK o transferir archivos del teléfono al ordenador.

En esta ocasión lo usaremos para hacer un backup completo del teléfono. Para ello deberemos tener correctamente instalados los drivers de nuestro smartphone, el SDK de Android y el smartphone en modo depuración.

Tras comprobar esto nos colocaremos en la carpeta platforms-tools del SKD de Android donde se encuentra adb.

Existen varios parámetros de configuración de adb y en esta ocasión utilizaremos casi todos ellos para indicar donde queremos dejar el fichero de backup, así como realizar un backup de la memoria compartida (SD) junto a todas las apks incluyendo las del sistema.

./adb backup -f /Users/dreyacosta/Desktop/nexus-bkp.ad -apk - shared -all -system

Una vez lancemos el comando nos pedirá desbloquear el terminal (PIN, patrón, etc...) para confirmar el backup así como darnos la opción de cifrarlo.

Tras unos minutos se puede comprobar por el tamaño que realmente ha sido un full backup del dispositivo, en este caso de 3,4 GB.

A continuación podéis ver todas las opciones de configuración de adb:

adb backup [-f ] [-apk|-noapk] [-shared|-noshared] [-all] [-system|-nosystem]

-write an archive of the device's data to . If no -f option is supplied then the data is written to "backup.ab" in the current directory.
-apk|-noapk enable/disable backup of the .apks themselves in the archive; the default is noapk.
-shared|-noshared enable/disable backup of the device's shared  / SD card contents; the default is noshared.)
-all means to back up all installed applications.
-system|-nosystem toggles whether -all automatically includes system applications; the default is to include system apps.
-packages... is the list of applications to be backed up.  If the -all or -shared flags are passed, then the package list is optional.  Applications explicitly given on the command line will be included even if -nosystem would ordinarily cause them to be omitted.

El proceso para realizar el restore del backup es similar:

adb restore /ruta/del/fichero.ab

Con esta herramienta tenemos la solución a los backups completos sin necesidad de desbloquear y tener acceso root a nuestro dispositivo móvil.