Comment récupérer une application système de votre smartphone
Cas concret : toutes mes notes sont sous l'application S Memo sur mon Samsung Galaxy S4. Je voulais migrer ces notes sur un smartphone plus récent (Redmi Not 10 pro), qui n'a pas cette appli. Et qui (bien sûr) ne sait pas importer le format de fichier de l'application (SNB). Fort bien me direz-vous, il suffit d'aller chercher S Note sur Google Play. Sauf que… Elle ne s'y trouve pas ! Et comme c'est une application système sur un smartphone non rooté, impossible de la récupérer avec une application de type Super Backup.
J'ai trouvé et testé un tuto sur ce blog anglophone. Celui-ci vous donne une méthode qui utilise l'application ES File Explorer. Mais mon smartphone est plein à craquer, pas possible d'installer cet appli (qui depuis a été exclue du Play store). J'ai donc opté pour l'autre méthode, celle en ligne de commande.
L'exemple est fait avec l'application S-Memo, mais finalement une fois l'apk récupéré il n'a jamais voulu s'installer sur le nouveau smartphone ! (j'ai également essayé sur un émulateur, également refus, avec l'erreur INSTALL_FAILED_MISSING_SHARED_LIBRARY)
Bref le tuto reste valable. Mais pour des applis appartenant à l'écosystème d'une marque (Samsung en l'occurrence), ou s'il y a trop de différences de version d'Android, vous aurez des soucis d'installation.
Étapes préalables
- avoir les outils de développement Android installés sur votre PC (le SDK)
- le débogage USB doit être activé sur le smartphone à partir duquel vous voulez récupérer l'application. Vous pouvez y accéder vis les options pour développeurs. Elles sont masquées par défaut. Pour les activer, rendez-vous dans Paramètres > A propos du téléphone et tapotez une dizaine de fois le numéro de build jusqu'à ce qu'un message vous informe du déblocage.
Connexion et lancement de la ligne de commande
Ensuite, connectez le smartphone à votre PC. Éventuellement le smartphone vous demandera une confirmation supplémentaire.
Sur le PC, direction C:\Users\<NomUtilisateur>\AppData\Local\Android\Sdk\platform-tools (pensez à remplacer <NomUtilisateur> par votre nom d'utilisateur) qui doit normalement contenir adb.exe
Lancer une fenêtre de commande (par exemple en tapant cmd dans la barre de lien)
Listage des applications
On va d'abord lister les applications présentes sur le téléphone (sauf si vous connaissez déjà son package name)
adb shell pm list packages

Attention, la liste peut être très très longue. Et ce sont leurs noms de package (parfois assez obscurs) et non pas le nom de l'application. J'ai dû en faire un copier-coller sous le bloc-notes et une recherche (Ctrl+F) avant de localiser mon S-Memo. Son nom de package est com.sec.android.widgetapp.diotek.smemo, ça ne n'invente pas.
Recherche de l'emplacement sur le smartphone
2e étape : trouver son emplacement (path) sur le téléphone
adb shell pm path com.sec.android.widgetapp.diotek.smemo

Téléchargement de l'apk
3e et dernière étape : le télécharger (pull) sur le PC
adb pull /system/priv-app/SMemo2/SMemo2.apk

Et voici l'apk qui atterrit bien gentiment dans le dossier à partir duquel vous avez lancé votre fenêtre de ligne de commande

Il ne reste plus qu'à le transférer sur le nouveau téléphone. Et croiser les doigts pour qu'il veuille bien s'installer…
Dans mon cas, l'installation de l'apk n'a donc pas fonctionné. J'ai dû choisir une autre application de notes, non dépendante d'une marque de smartphone (Google Keep). Une appli qui stocke les données dans le cloud, afin de ne pas pas avoir à tout exporter et importer au prochaine changement de smartphone. Même si cela me chagrine toujours d'envoyer des données (plus ou moins) sensibles on ne sait où.
J'ai dû consacrer une partie de l'après-midi à développer un script php pour récupérer le contenu de mes notes (un fichier SNB est sont en réalité une archives zip dont l'extension a été renommée, les notes proprement dites se trouvant à l'intérieur d'un fichier snote/snote.xml qu'il ne reste plus qu'à parser avec le script php, puis à copier-coller dans une nouvelle note Google Keep).
Bref, la migration d'un smartphone à l'autre, c'est toujours un casse-tête. Et c'est tout de même un scandale, ces marques qui interdisent l'installation de certaines applications mobiles.

