L'auto backup des applications d'Android M

L'auto backup des applications d'Android M

Android M a été dévoilé fin mai et devrait être disponible dès la fin de l'année. Parmi toutes ses nouvelles fonctionnalités, l'Auto Backup des applications a été détaillée.

Auto Backup des applications

La sauvegarde automatique des applications existent depuis plusieurs versions d'Android, mais avec Android M, Google a décidé de simplifier énormément son implémentation par les développeurs.

android M

Maintenant aucune ligne de code n'est nécessaire pour implémenter la sauvegarde d'une application, il suffit d'indiquer un targetSdkVersion à 23 (pour Android M) ou d"utiliser la version Preview d'Android M. Cette nouvelle fonctionnalité est transparente pour l'utilisateur et le développeur, les sauvegardes sont stockées sur le Drive de l'utilisateur sans décompter son espace de stockage, mais la sauvegarde peut décompter la data d'un abonnement mobile.

 

Ce qui est sauvegardé

  • Toutes les données de l'application : base de données, shared preferences et autre contenu du dossier private de l'application jusqu'à 25 Mo par application.
  • Les répertoires des fonctions Context.getCacheDir(), Context.getCodeCacheDir() et Context.getNoBackupFilesDir() sont exclus.
  • Sur un espace de stockage externe, seul les répertoires de Context.getExternalFilesDir() sont sauvegardés

 

Personnalisation

Il est possible de personnaliser ce qui est sauvegardé avec un fichier situé dans le dossier res/xml qui doit être référencé dans le manifest de l'application :

<application
         android:fullBackupContent="@xml/mybackupscheme">

La configuration se fait par des balises <include/> ou <exclude/>. Plus de détails sur le fonctionnement de ce fichier ici : http://developer.android.com/preview/backup/index.html

 

Ce qui doit être exclu

  • Les identifiants spécifiques à un appareil comme les GCM. Car en cas de restauration de l'application sur un nouvel appareil, les messages GCM ne pourront pas être reçu.
  • Les identifiants de compte et information sensible. Pour le premier point il peut être intéressant de stocker l'identifiant et de proposer à l'utilisateur de retaper le mot de passe en cas de restauration sur un nouvel appareil, mais aussi de garder une trace s'il se connecte par exemple avec Google Sign In.

 

Quand se fait la sauvegarde / restauration

  • La restauration se fait lors de l'installation de l'application
  • La sauvegarde ne se fait pas plus d'une fois par jour, quand l'appareil est en charge et connecté en Wi-Fi.

 

 

Tester l'Auto Backup

Il est possible de tester le fonctionnement de l'Auto Backup sur un appareil sous Android M Developer Preview avec l'outil bmgr :

  • bmgr run programme une sauvegarde immédiate
  • bmgr fullbackup <packagename> commence un sauvegarde complète
  • bmgr restore <packagename> restaure les données de l'application

La commande run est obligatoire avant de lancer les deux autres opérations, pour initialiser le Backup Manager. La sauvegarde doit être activée et un compte Google renseigné dans les paramètres : Settings -> Backup & reset