Désinstaller des applications système d'Android

Rendons d'abord à César, ce qui est à César. Cet article ne pourrait pas exister sans ce message de Pourrito sur Mastodon :

Je viens de découvrir comment désinstaller une appli système sans être root ! […]

adb shell pm uninstall -k --user 0  com.facebook.system

Effectivement, la méthode décrite fonctionnement parfaitement bien sur un téléphone récent (Android 6+), même si ce dernier n'est pas rooté. Comme il le précise lui-même un peu plus tard, il est à noter que l'argument -k est inutile, car sert exclusivement à conserver les paramètres et données de l'application. Dans un cas de nettoyage avancé, nous pouvons l'omettre pour supprimer complètement les applications visées.

Attention, la manipulation décrite dans cet article peut s'avérer dangereuse si vous supprimez des composants importants de votre téléphone. Je tiens donc à rappeler qu'en aucun cas je ne pourrai être tenu responsable des dommages survenus sur votre appareil. À vous de prendre vos responsabilités avant de taper des commandes au hasard. Prenez garde de ne rien supprimer de vital sur votre téléphone (service système…), pensez à faire des sauvegardes avant de tenter quoi que ce soit. D'autant que je ne connais pas de méthode permettant de réinstaller les applications supprimées de cette manière.

Voici donc la marche à suivre, sous Archlinux, pour réaliser toute l'opération.

Déjà, installez le paquet android-tools et android-udev : sudo pacman -S android-tools android-udev

Sur votre téléphone, rendez-vous dans les paramètres d'Android et activer la catégorie « Options pour les développeurs », tel que visible dans la capture d'écran ci-après. Si par défaut vous ne voyez pas cette catégorie, il se peut qu'elle soit encore cachée sur votre terminale. Pour l'afficher, vous devez vous rendre dans la catégorie « À propos du téléphone », puis appuyer sept fois sur la case « Numéro de build ». Les six premières fois il ne se passera rien de spécial, c'est normal. À la septième fois, un message vous confirme que la catégorie développeur est désormais accessible.

Capture d'écran des paramètres d'Android
Figure 1 : Capture d'écran des paramètres d'Android

Dans le menu « Options pour les développeurs », activez les paramètres (première bascule tout en haut à droite, puis appuyer sur « OK »). Le reste du menu est désormais fonctionnel.

Capture d'écran des options pour développeurs d'Android
Figure 2 : Capture d'écran des options pour développeurs d'Android
Confirmation d'activation des paramètres de développement d'Android
Figure 3 : Confirmation d'activation des paramètres de développement d'Android

Trouvez, plus bas dans la catégorie des « Options pour développeurs », le paramètre « Débogage USB ». Activez-le.

Débogage USB d'Android
Figure 4 : Débogage USB d'Android
Confirmation d'activation du débogage USB d'Android
Figure 5 : Confirmation d'activation du débogage USB d'Android

Vous pouvez désormais brancher votre téléphone à votre ordinateur via un câble USB. Assurez-vous de connecter votre téléphone en mode « MTP », via la notification dans le volet supérieur d'Android. Dans la capture d'écran ci-après, il faut d'abord appuyer sur « Recharge par USB », puis sur « Transférer des fichiers ».

Choix du type de connexion USB pour Android
Figure 6 : Choix du type de connexion USB pour Android
Choix du type de connexion USB pour Android
Figure 7 : Choix du type de connexion USB pour Android

Il est temps désormais de passer à la ligne de commande. Normalement, l'installation d'android-udev a permis la reconnaissance automatique de votre téléphone par Archlinux. Si tel n'est pas le cas, je vous laisse voir par vous-même comment installer la bonne règle udev pour votre téléphone. Toutes ces manipulations peuvent se faire directement, vous n'avez pas besoin de redémarrer votre session ou même votre ordinateur. Ouvrez votre terminal préféré et tapez une première fois la commande adb devices. Cette commande permet de lister les terminaux Android connectés à l'ordinateur. Vous allez voir apparaître une ligne contenant un identifiant suivi du mot unauthorized. Au même instant, un popup va automatiquement s'afficher sur votre téléphone.

Validation de la connexion de débogage USB sur Android
Figure 8 : Validation de la connexion de débogage USB sur Android

Appuyez sur OK et la connexion de débogage USB est désormais autorisée entre votre ordinateur et votre téléphone. Entrez à nouveau adb devices dans la console et vous verrez que le même élément affiche désormais device.

Différents appels adb devices en console
Figure 9 : Différents appels adb devices en console

Vous êtes tout·e bon·ne, vous allez pouvoir désinstaller des applications. Pour ce faire, toujours dans votre terminal, vous devez entrer la commande suivante : adb shell pm uninstall --user 0 <app_id>. Par exemple, pour supprimer l'application « Google Play Films et Séries » (ou « Google Vidéos », ou « Google Films » suivant les téléphones) vous pouvez tout simplement faire : adb shell pm uninstall --user 0 com.google.android.videos

L'app_id dont je parle est le nom de code de l'application sur votre téléphone. Vous pouvez le trouver facilement dans l'url de l'application lorsque vous consultez le Google Play Store. Par exemple dans le cas de l'application « Google Play Films et Séries » l'url est https://play.google.com/store/apps/details?id=com.google.android.videos. L'app_id est ce qui vient après ?id=

Voici un petit florilège de commandes pour dégooglifier un peu votre téléphone :

# Google Chrome
adb shell pm uninstall --user 0 com.android.chrome
# Gmail
adb shell pm uninstall --user 0 com.google.android.gm
# Google Play Films et Séries
adb shell pm uninstall --user 0 com.google.android.videos
# Youtube
adb shell pm uninstall --user 0 com.google.android.youtube
# Google Play Music
adb shell pm uninstall --user 0 com.google.android.music
# Google Hangouts
adb shell pm uninstall --user 0 com.google.android.talk
# Google Keep
adb shell pm uninstall --user 0 com.google.android.keep
# Google Drive
adb shell pm uninstall --user 0 com.google.android.apps.docs
# Google Photos
adb shell pm uninstall --user 0 com.google.android.apps.photos
# Google Cloud Print
adb shell pm uninstall --user 0 com.google.android.apps.cloudprint
# Google Actualités et météos
adb shell pm uninstall --user 0 com.google.android.apps.genie.geniewidget
# Application Google
adb shell pm uninstall --user 0 com.google.android.googlequicksearchbox

Par ailleurs et pour information, cette commande m'aura permis de nettoyer un téléphone Wiko assez récent en supprimant les applications chelous présentes de base dessus :

Une bonne manière de procéder, pour éviter de supprimer trop vite une application importante, est de commencer par désactiver les applications qui vous encombrent. Après quelque temps, si vous ne remarquez pas de problèmes particuliers, vous pouvez tenter de les supprimer. Pour cela, vous pouvez utiliser la commande suivante qui liste les applications désactivées de votre téléphone : adb shell pm list packages -d

Après avoir désinstallé des applications de cette manière, si vous consultez la liste des applications de votre téléphone dans les paramètres Android, vous pouvez, dans certain cas, toujours voir affiché les applications en question avec une mention absconse « Application non installée pour cet utilisateur » ou un truc du genre. L'application disparaîtra définitivement au redémarrage suivant de votre téléphone, que je vous conseille de faire dès votre ménage terminé.

Commentaires

N'hésitez pas à réagir en m'envoyant un email, qui sera publié ci-dessous sous la forme d'un commentaire.

Comment from Marc

De Marc - 17/08/2018, 16:12

Le problème c'est que les applications reviennent après une mise à jour OTA non ? Tu me diras, avec certaines fournisseurs, les mises à jour n'existent pas :)

Par rapport à "udev", ça doit être spécifique à Arch car android-tools me suffisait sous Manjaro pour détecter mon téléphone.

merci pour le partage en tout cas!

Comment from Willtam

De Will_tam - 18/08/2018, 21:51

C'est bon ça !!!

Bonjour.

Merci pour cette article, ça fait un baille que je cherchais quelque chose dans le genre, mais sans trop chercher non plus.

D'ailleurs, j'avais déjà aperçu certaines possibilités avec adb.

Dommage que je ne puisse le faire sur mon vieux intelliphone !!

Encore merci.

Comment from Da Risk

De Da Risk - 21/08/2018, 00:02

Je ne recommanderais pas cette methode. En realité ca a quasiment le meme effet que de desactiver l'application, mais avec l'inconvénient qu'il est plus difficile de la réactiver.

La partition systeme est generalement en lecture seule et donc non modifiable, du coup l'application n'est pas réellement desinstallée mais juste considerée comme telle ce qui a le meme effet que quand elle est desactivée.

Apres ca peut etre une solution pour certaines application qui ne sont pas desactivable (mais il y a certainement une bonne raison a cela)

Comment from jesuismonsieurb

De jesuismonsieurb - 31/10/2018, 09:58

Bonjour.
Voilà une manipulation prometteuse, mais je vois qu'il faut passer par pacman : est-ce à dire qu'il faut être sous Arch Linux ?
Existe-t-il un moyen d'installer ces paquets sous Ubuntu/Debian ?

Comment from tiery

De tiery - 04/11/2018, 22:48

Bonsoir,
Dommage que cette manipulation ne fonctionne pas sur une vieille tablette que j'ai sous un android 4.2.2.(ezee tab973, acheté à regret :/)
Je suppose qu'il faut un android récent !

Comment from Milouse

De Milouse - 12/12/2018, 13:20

Oups, je n'avais pas consulté les commentaires en attente depuis un moment, voilà qui est fait.

@jesuismonsieurb non, la manipulation doit pouvoir se faire sur debian également, mais je connais moins bien ce système comme je ne l'utilise pas. Une brève recherche sur packages.debian.org semble dire que seul le paquet `adb` serait nécessaire. Mais je ne peux pas tester.