Comment déplacer vos applications sur la carte SD externe

Par franck_29 - Le 13/05/13 - Affichages : 113597

Beaucoup d'entre vous, dans les colonnes de ce forum nous réclament des techniques pour installer leurs applications sur leur carte SD externe.
Mais comment justifier ce besoin alors que nos appareils, aujourd'hui, offrent des capacités de stockage sans précédent ?

Image

Un peu d'histoire pour bien comprendre

En réalité, la question s'est posée depuis les débuts d'Android. Nous n'en n'avons pas trop été témoins sur ce forum, car les appareils que nous suivions, et ce dès le Galaxy S premier du nom, disposaient de 2 Go pour installer les applications. Ce qui, on doit le reconnaître, était extrêmement confortable.
Néanmoins, chez les autres constructeurs, les choses n'étaient pas si roses, et nombreux étaient les utilisateurs devant faire du ménage avant d'installer la moindre application. Face à cette situation intenable, Google avait apporté une première solution sous Froyo (Android 2.2) qui permettaient de déplacer les applications (codées pour pouvoir le supporter) vers la carte SD (interne uniquement!). La seconde, plus radicale, et ne nécessitant pas de collaboration des développeurs d'applications, est venue avec ICS et son stockage unifié.

Cette dernière évolution (le stockage unifié ICS), offrait aux constructeurs de ne plus avoir à trancher le dilemme (beaucoup d'espace pour les médias VS beaucoup d'espace pour les applications), mais offrait un espace unifié dans lequel applications et médias pouvaient partager le même espace. C'est aussi ce choix qui nous a fait perdre le stockage de masse USB, mais c'est une autre histoire.

Nous aurions pu croire, que le problème était définitivement évacué, mais en réalité ce ne fut pas le cas, car, des constructeurs "dissidents" (Samsung en est) ont continué d'offrir des ports microSD, pour le stockage de médias et d'autres types de fichiers, à l'exclusion bien sûr des applications. Et pour les porteurs de ce type de smartphones (avec carte microSD externe), le problème se pose de nouveau.

Il se pose de nouveau car, en quelques années, certaines applications, des jeux essentiellement, peuvent occuper plusieurs giga-octets. Ainsi, l'époque ou nous étions "confortable " est révolue quand bien même l'espace de stockage dédié aux applications est dans le même temps passé de 2 Go à un minimum de 8 Go.

Il faut alors comprendre ces utilisateurs qui se disent : "mais c'est incompréhensible, je ne peux plus installer d'applications alors que ma carte SD de 64 Go est presque vide".

La solution existe : elle s'appelle "Folder Mount"

En fait, la solution existe, depuis le début, mais était réservée à une élite geekissime. Elle consistait à "leurrer" le système en lui faisait croire qu'il écrivait sur une partition interne alors qu'en réalité il écrit, sans s'en rendre compte, sur la carte SD externe. La technique consiste à utiliser ce que les utilisateurs d'UNIX connaissent sous le nom de liens symboliques (de mount bind en fait car les vrais liens symboliques n'existent pas sous android).

Que l'on se rassure tout cela est désormais pris en charge par une application, disponible sur le Play Store, maintenue par un développeur d'XDA, et dont le nom m'a été soufflé par @edem84.
Alors tout n'est pas encore si simple puisque l'application nécessite les droits "root" et que dans certains cas, certaines manipulations doivent encore être faites manuellement.

L'objet de cet article est de tout vous expliquer, pas à pas, en faisant en sorte de bien comprendre l'ensemble des opérations.
Elles sont néanmoins encore, selon nous, à réserver à un public averti.

Comment cela fonctionne dans deux cas :

En fait, il nous faut distinguer deux cas d'usage bien différents :
- Déplacement des répertoires situés dans votre stockage interne, sous /storage/sdcard. C'est un cas très usuel, car de nombreuses applications, y créent pour leur besoin des répertoires afin d'y stocker certaines données, et parfois cela peut occuper pas mal d'espace.
- Déplacement de l'ensemble des données d'une application du stockage interne (sous /data/data) vers la carte externe. C'est le cas le plus intéressant, c'est là que l'on va trouver certains jeux qui téléchargent plusieurs gigas octets de données pour les mettre dans notre stockage interne.

La démarche générale

Dans tous les cas la démarche est la suivante :

-Lancer l'application FolderMount
-Créer une association (une par application ou dossier à déplacer) comprenant
. dossier source (sur le stockage interne)
. dossier destination (sur la carte externe)
-Déplacer les fichiers de la source vers la destination
-Activer le montage


Voyons comment cela se réalise concrètement dans les deux cas d'usage que nous avons identifié plus haut

Premier cas : transfert de répertoires d'applications stockés dans /storage/sdcard (simple)

Il suffit d'examiner le contenu de /sdcard pour s'en rendre compte, nos applications créent pléthore de dossiers dans cet espace.
Nous allons déplacer le dossier ssLauncher contenu dans /sdcard, où sont stockés les différents sauvegardes du célèbre launcher ;)

- Lancer l'application FolderMount
- Cliquez sur le bouton "+" en haut à droite (pour créer une nouvelle association)
- Saisissez un nom
- Choisissez la source et validez par le bouton "V" en haut à droite
- L'application vous propose ensuite de nommer automatiquement la destination (accepter la proposition)
- décocher (ou pas) l'option "exclude from média scan"
- Validez par le bouton "V" en haut à droite
- L'application vous propose de transférer les fichiers de la source vers la destination : dites "OUI"
- Une fois terminé, l'ecran d'accueil de l'application apparaît, avec un ligne contenant le nom de l'association crée (ici ssLauncher")
- Cliquez sur la petite "punaise" grise, à droite, elle doit devenir verte (elle témoigne que le montage est réalisé)

Voilà, c'est terminé ! vous pouvez quitter l'application et retourner à vos occupations. Le dossier est déplacé et c'est absolument transparent pour l'application (ici sslauncher)

quelques écrans ci-dessous pour visualiser tout cela.

Image Image

Image

Deuxième cas :transfert des toutes les données d'une application (plus complexe)

Ce deuxième cas est plus complexe, et peut-être le plus utile, il va consister à déplacer le contenu intégral du dossier /data/data d'une application.
Pour ce faire, nous allons avoir besoin d'aller un peu plus en profondeur dans l'application FolderMount. Je choisis dans mon exemple de déplacer l'application tapatalk, car c'est la plus lourde de toutes mes applications
Image

La procédure est légèrement différente de celle détaillée plus haut (j'ai fait figurer en rouge les différences)

- Lancer l'application FolderMount
- Cliquez sur le bouton "+" en haut à droite (pour créer une nouvelle association)
- Saisissez un nom
- Choisissez la source Cette source étant sous /data/data, nous devons changer le répertoire racine de l'application : cliquez sur le menu option et choisissez "/path" un avertissement apparait : cliquez sur OK validez par le bouton "V" en haut à droite
- L'application vous propose ensuite de nommer automatiquement la destination (accepter la proposition)
- décocher (ou pas) l'option "exclude from média scan"
- Validez par le bouton "V" en haut à droite
- L'application vous propose de transférer les fichiers de la source vers la destination : Surtout dites "NON", l'écran d'avertissement nous en informe d'ailleurs avec insistance
- Une fois terminé, l'écran d'accueil de l'application apparaît, avec un ligne contenant le nom de l'association crée (ici Tapatalk")
-Nous allons transférez l'ensemble des fichiers de la source (en laissant le répertoire initial source présent, mais vide!)
Je vous préconise l'emploi de l'application "root explorer", mais il y en a d'autres ce sera votre choix.
Attention : avant de procéder au transfert, prenez soin de fermer l'application que nous allons déplacer
- Une fois le transfrt effectué (!! ne lancez surtout pas l'application "déplacée" !!)
- retournez sur l'application FolderMount

- Cliquez sur la petite "punaise" grise, à droite, elle doit devenir verte (elle témoigne que le montage est réalisé)

C'est magique !

Tout est déplacé, et tout fonctionne

Copie d'écran de l'écran d'avertissement lorsque l'on choisit une source ailleurs que sous /sdcard :
Image

Conclusions

Les plus septiques mettront peut etre en doute la réalité du déplacement :
-Mettez les punaises vertes en gris ! et allez vérifier la taille occupée avec vous outils (DiskUsage ou un explorateur de fichiers) vous verrez bien que c'est vide.
-Mettez les punaises en vert ! et vous voyez tout le contenu.

Petite dernière chose importante.
Le montage des répertoires de la carte externe, vers leur emplacement source se fait une fois que le smartphone a rebooté. Peu après le reboot, vous verrez l'icone de Folder Mount apparaitre dans votre zone de notification, c'est que les montages sont bien effectués.

J'allais oublier : L'application est disponible sur le play store, c'est une version gratuite. Pour déplacer vous applications selon la seconde méthode il vous faudra consentir 2€ (ce que votre serviteur a fait, rien que vous vous offrir ce tutoriel ;))

Elle fait l'objet d'un topic par son développeur sur XDA :Madmack

Edit le 19 mai 2013

Retour arrière
Certains se sont posés la question d'un retour arrière possible. C'est simple, la méthode est la suivante :

1/ Fermer l'application à déplacer (au besoin forcez en l'arrêt via le gestionnaire d'applications)
2/ Lancez l'application FolderMount, choisissez "l'association" à re-basculer sur carte interne et cliquer sur la punaise verte associée, de façon qu'elle devienne grise (le repertoire est "démonté")
3/ Avec un gestionnaire de fichier (Es-File-Explorer, Root-Explorer, etc), déplacez le contenu du répertoire distant (sur carte externe) vers le répertoire source (sur carte interne)
4/ une fois fait, dans l'application, supprimer l'association
5/ relancer l'application, elle fonctionne sur carte interne, comme avant. ;)


128 réponse(s) -