Aller au contenu | Aller au menu | Aller à la recherche

Backup des des applications données Android pour un transfert vers un autre appareil.

Tout fraîchement équipé du tout nouveau Galaxy S4  je cherchais un moyen de récupérer les données des applications. Attention, ADB ne peut sauvegarder que depuis ICS (Ice Cream Sandwitch).

On peut bien entendu utiliser un tas d'applications du market pour faire un backup restore des SMS, appli ... mais aucune d'entre elle ne peut sauvegarder les données de l'application et du coup on perd forcement les scores, bonus et autres configurations ...

Après avoir essayé quelques applications sans succès et pi ne voulant pas forcement passer par une solution software j'ai voulu essayer avec ADB, l'utilitaire présent dans le Software Développement Kit nommé SDK, d'Android.

Alors je vous prévient avant de tout "péter" votre tout nouveau Galaxy S4, il convient de faire attention et pas faire comme moi le boulet qui "restore" à l'arrache des datas venant d'une ROM custom vers une ROM officielle ... vous allez me dire sans commentaires ...

Bref, il sera donc convenable de ne choisir que les applications ayant un intérêt de transfert parce que notre amis ADB est capable de faire un backup complet DATA + APPLI.

Environnement 

Je suis sous Win8 x64, j'ai téléchargé le SDK Android que j'ai décompressé dans le répertoire qui va bien.

Il faudra aussi installer le SDK de Java.

Pas possible d'utiliser ADB sans acquerir le Kernel correspondant à la version de l'android on va donc démarrer le gestionnaire du SDK par double click de android.bat présent dans le répertoire  C:\Program Files\adt-bundle-windows-x86_64-20130522\adt-bundle-windows-x86_64-20130522\sdk\tools On choisit la version d'android qui correspond 4.2.2:

ADB1.png

 

 

 

 

 

 

Une fois cela fait se rendre dans le répertoire du SDK:C:\Program Files\adt-bundle-windows-x86_64-20130522\adt-bundle-windows-x86_64-20130522\sdk\platform-tools

 

 

 

 

 

 

Activer le debogage USB de votre appareil, dans options de développement des paramètres.
On branche le mobile source en USB.
Depuis une fenêtre de commande DOS on va vérifier que le phone réponde:
adb devices
Devrait répondre un ID + device. Cool! tout va bien!

Le Backup

Maintenant on va rechercher les packages que l'on souhaite sauvegarder depuis la liste des packages installés.
adb shell pm list packages -f > list.txt
Nous voici donc avec une liste contenant toutes les applications du téléphone. Elle se décompose sous la forme:
package:/mnt/asec/com.kiloo.subwaysurf-2/pkg.apk=com.kiloo.subwaysurf
Pour le coup je n'ai que quelques jeux et quelques applications un peu galère à configurer, candidates au "restore", donc il suffit de prendre le nom de la variable pkg.apk.
Ici com.kiloo.subwaysurf.
Je vais donc sauvegarder l'application et ses données avec la commande suivante:
adb backup -apk -noshared -nosystem com.kiloo.subwaysurf -f com.kiloo.subwaysurf.ab
Je retrouve mon fichier de sauvegarde dans le répertoire local de mon SDK. retrouvez les options de ADB ici. Il faudra votre confirmation du coté du téléphone pour accepter le transfert.

Le restore

Débrancher le téléphone source. Pour plus de sécurité tuer le service ADB dans le gestionnaire des tâches WINDOWS.
Brancher le téléphone cible.
Et lancer le "restore" avec la commande suivante:
adb restore com.kiloo.subwaysurf.ab
Vous devrez encore confirmer le "rerstore" coté téléphone. 
Si quelque chose se passe mal ou pas. Arrêter le processus ADB et recommencer...

Pour aller plus loin

Pour sauvegarder toutes les applications du téléphone utiliser la commande suivante:
adb backup -all -apk -noshared -nosystem -f galaxyS2-backup.ab
Vous pouvez alors transformer cette archive en fichier TAR pour la parcourir ou la modifier. J'ai trouvé ici un exécutable en java pour la transformation dans un sens ou dans l'autre.
adb4.png

 

 

 

 

 

 

 

 

 

 

 

 

 

Ajouter un commentaire

Les commentaires peuvent être formatés en utilisant une syntaxe wiki simplifiée.

Fil des commentaires de ce billet