Getting started

Désinstaller une application préinstallée sans accès privilégié

· 2 min read

Illustration. Décorative : les détails sont dans les schémas du texte.

C'est la commande centrale de tout ce que nous faisons ici :

adb shell pm uninstall --user 0 com.exemple.paquet

Si la réponse est Success, l'application a disparu du téléviseur.

Ce que fait vraiment cette commande

  • pm est le gestionnaire de paquets d'Android.
  • uninstall retire une application.
  • --user 0 est la partie décisive : elle la retire du seul utilisateur principal, pas du système.

Sans --user 0, la commande échouerait sur une application système : Android n'autorise pas la suppression dans le micrologiciel. Avec, le fichier d'origine reste intact sur la partition système, qui n'est jamais modifiée.

Trois conséquences :

  1. C'est annulable en une commande.
  2. Une réinitialisation d'usine remet tout en place.
  3. Le micrologiciel n'a pas été touché : rien ne peut rester à moitié fait.

Annuler

adb shell cmd package install-existing com.exemple.paquet

Rien n'est téléchargé : la copie d'usine est réinstallée.

L'alternative plus douce : désactiver

adb shell pm disable-user --user 0 com.exemple.paquet

L'application reste installée mais ne s'exécute plus. Pour revenir :

adb shell pm enable com.exemple.paquet

Les erreurs que vous rencontrerez

Failure [DELETE_FAILED_INTERNAL_ERROR] — presque toujours un nom de paquet mal orthographié.

Failure [not installed for 0] — c'était déjà retiré.

Success mais l'application est toujours là — redémarrez le téléviseur.

Avant de vous lancer

  • Un paquet à la fois. Quinze d'un coup, et vous ne saurez pas lequel a cassé quoi.
  • Testez la télécommande après chaque retrait. C'est ce qui se remarque en premier et ce qui est le plus pénible à récupérer.