sabato 9 gennaio 2016

Come eseguire il backup di uno smartphone Android su un PC Linux

Questi sono gli appunti che ho preso eseguendo il backup di uno smartphone Samsung S4 GT-I9515 con installato Android 5.0.1, su un sistema Fedora Linux 23 Workstation Edition.

Installare gli ADB tools

Sul sistema Linux, installare gli ADB tools (Android Debug Bridge):

root@localhost ~]# dnf install android-tools
...
Complete!
[root@localhost ~]# 

Abilitare la modalità sviluppatore sullo smartphone

Collegare lo smartphone al sistema Linux.

È necessario abilitare la modalità sviluppatore sullo smartphone. Per farlo bisogna andare in "Impostazioni" => "Altro" => "Info sul dispositivo" => quindi toccare su "Versione build" finché non si riceve conferma dell'avvenuta abilitazione della modalità sviluppatore.

Apparirà il nuovo menu "Impostazioni" => "Altro" => "Opzioni sviluppatore". Quindi in quel menu bisogna selezionare la casella "Debug USB".

Lo smartphone chiederà se ci si vuole collegare al PC, bisogna rispondere positivamente.

Fare il backup

Sul sistema Linux si può eseguire il comando "adb" senza parametri per vedere la lista delle opzioni disponibili:

[root@localhost ~]# adb
Android Debug Bridge version 1.0.32

...
 -s           - directs command to the device or emulator with the given
                                 serial number or qualifier. Overrides ANDROID_SERIAL
                                 environment variable.
...
 devices [-l]                  - list all connected devices
                                 ('-l' will also list device qualifiers)
...
device commands:
...
  adb backup [-f ] [-apk|-noapk] [-obb|-noobb] [-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.)
                                 (-obb|-noobb enable/disable backup of any installed apk expansion
                                    (aka .obb) files associated with each application; the default
                                    is noobb.)
                                 (-shared|-noshared enable/disable backup of the device's
                                    shared storage / 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)
                                 ( 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.)

  adb restore            - restore device contents from the  backup archive

  adb help                     - show this help message
  adb version                  - show version num
...
[root@localhost ~]# 

Verificare che lo smartphone venga riconosciuto:

[root@localhost ~]# adb devices -l
List of devices attached 
xxxxxxxx               device usb:3-1.6 product:zzzzzzzz model:GT_I9515 device:yyyyyy

[root@localhost ~]# 

Quindi eseguire il backup:

[root@localhost phone]# adb backup -apk -all -s xxxxxxxx -f NOMEFILEOUTPUTDIPROPRIASCELTA
Now unlock your device and confirm the backup operation.

Bisogna quindi sbloccare lo smartphone, esso chiederà se si vuole fare il backup, ed eventualmente chiederà la passowrd per la cifratura. Bisogna rispondere e poi il backup avrà inizio.