- Universal Android Debloater GUI est un outil qui réécrit entièrement en Rust le projet UAD existant, avec pour objectif de supprimer les applications système Android inutiles ou peu connues afin d’améliorer la confidentialité et l’autonomie
- Il permet de désinstaller/désactiver des paquets système sans root puis de les restaurer/réactiver, et prend en charge le multi-utilisateur, le multi-appareil, l’export/import de sélections et un journal des opérations
- Les paquets sont documentés autant que possible pour aider à déterminer s’ils peuvent être supprimés, mais retirer des paquets système essentiels au démarrage peut provoquer un bootloop
- Sur un appareil non rooté, il est impossible de supprimer complètement les applications système de manière définitive, et certaines applications système « supprimées » peuvent être réinstallées après une mise à jour OEM, ce qui oblige à relancer l’outil
- La liste de compatibilité inclut Google/Facebook/Amazon/Microsoft, AOSP, les OEM, les opérateurs, Qualcomm/Mediatek, etc., avec des debloat lists distinctes selon les fabricants et les opérateurs
Objectif d’Universal Android Debloater GUI
- Universal Android Debloater GUI est un projet qui réécrit entièrement en Rust le projet UAD
- Son objectif est de supprimer les applications système inutiles et peu connues pour améliorer la confidentialité et l’autonomie
- La suppression d’applications système peut aussi contribuer à améliorer la sécurité en réduisant la surface d’attaque
- Le projet est encore en phase de développement initiale, et il est recommandé de consulter les issues et de contribuer
Sécurité et avertissements principaux
- L’utilisation se fait à vos propres risques, et le projet n’est pas responsable de ce qui peut arriver au téléphone
- Les paquets sont documentés autant que possible pour permettre de mieux comprendre s’ils peuvent être supprimés
- Le pire scénario consiste à supprimer des paquets système essentiels au démarrage, ce qui peut provoquer un bootloop
- Après environ 5 échecs de démarrage, le téléphone redémarre automatiquement en mode récupération
- Dans ce cas, il faut effectuer une réinitialisation d’usine
- Il faut donc faire une sauvegarde au préalable
- Il est précisé que ce logiciel ne peut pas bricker l’appareil
- Sans root, les applications système ne peuvent pas être réellement supprimées de façon définitive ; pour plus de détails, il faut consulter la FAQ
Fonctionnalités prises en charge
- Prise en charge de Uninstall/Disable et Restore/Enable pour les paquets système
- Prise en charge du multi-utilisateur, comme les applications de profil professionnel
- Possibilité d’exporter/importer la sélection dans
uad_exported_selection.txt - Prise en charge du multi-appareil pour connecter plusieurs téléphones en même temps
- Toutes les opérations sont consignées dans un journal pour éviter que l’utilisateur oublie ce qu’il a fait
Portée des listes de debloat
- Les Universal Debloat Lists couvrent les catégories suivantes
- GFAM : Google, Facebook, Amazon, Microsoft
- AOSP
- fabricants (OEM)
- opérateurs
- Qualcomm, Mediatek, autres
- Les debloat lists par fabricant prennent en charge Asus, LG, Google, Fairphone, Huawei, Motorola, Nokia, OnePlus, Oppo, Realme, Samsung, Sony, Tecno, Unihertz, Vivo/iQOO, Xiaomi, ZTE, etc.
- Archos, Blackberry, Gionee, iQOO, HTC, TCL et Wiko ne sont pas encore vérifiés dans la liste des fabricants
- Les debloat lists par opérateur incluent les pays et opérateurs suivants
- France : Orange, SFR, Free, Bouygues
- États-Unis : T-Mobile, Verizon, Sprint, AT&T
- Allemagne : Telekom
- Royaume-Uni : EE
Procédure d’utilisation et limites
- Il faut d’abord lire la FAQ et sauvegarder ses données
- Sur le smartphone, il faut activer les Developer Options, puis activer le USB Debugging dans le panneau développeur
- Il faut dissocier le compte OEM dans les réglages
- Si le paquet du compte OEM est supprimé, le téléphone peut ne plus être capable d’associer l’identité de l’utilisateur et rester bloqué sur l’écran de verrouillage
- L’installation d’ADB est nécessaire
- Sous Linux, il faut installer
android-sdk-platform-toolsouandroid-toolsavec le gestionnaire de paquets de la distribution - Sous macOS, il faut installer
android-platform-toolsvia Homebrew - Sous Windows, il faut télécharger les android platform tools, les décompresser puis les ajouter au PATH, ou exécuter UAD depuis le même répertoire
- Sous Windows, il faut installer les USB drivers pour l’appareil et vérifier sa détection avec
adb devices
- Sous Linux, il faut installer
- La dernière version de UAD GUI pour votre système d’exploitation peut être téléchargée depuis les releases
- N’utiliser la version
openglque si la version avec backend Vulkan par défaut ne se lance pas
- N’utiliser la version
- Les utilisateurs de téléphones chinois peuvent avoir besoin de la AOSP list pour supprimer certaines applications par défaut
- En particulier parce que des fabricants chinois comme Xiaomi et Huawei ont utilisé des noms de paquets AOSP pour leurs propres applications modifiées et fermées
- Lorsque l’OEM déploie une mise à jour sur le téléphone, certaines applications système « supprimées » peuvent être réinstallées, ce qui oblige à relancer ce logiciel
Contribution
- Le projet est un projet communautaire, et la manière de contribuer est décrite dans How to contribute
1 commentaires
Avis sur Hacker News
J’ai récemment acheté à un proche un téléphone Samsung milieu de gamme au prix fort, et le nombre d’apps préinstallées était difficile à croire.
Plusieurs réseaux sociaux et apps de shopping étaient déjà installés, et il y avait aussi une foule d’apps Samsung qui dupliquaient maladroitement la suite d’apps Google.
Tout le processus de configuration initiale était rempli de dark patterns conçus pour extraire un maximum de données, au point qu’un utilisateur ordinaire aurait du mal à s’en sortir sans rien rater.
La politique de confidentialité de cette société indiquait que ces données servaient à déduire les centres d’intérêt, la vie sociale, le niveau d’intelligence et le niveau d’études, et qu’elles étaient vendues pour des « études de marché », entre autres.
Il est difficile pour un utilisateur de soupçonner que le clavier fourni par défaut avec le téléphone va faire lire ses SMS et ses e-mails par un tiers.
Je ne l’ai découvert que par hasard, après un appui long sur une touche qui a ouvert la fenêtre « about samsung keyboard », puis en suivant la politique de confidentialité jusqu’à identifier l’entreprise à laquelle les frappes étaient envoyées.
Je suis aussitôt passé à un clavier open source ; cela dit, peut-être grâce à la collecte des saisies de tous les utilisateurs, la correction orthographique et la saisie prédictive du clavier Samsung étaient vraiment bonnes.
Mes trois derniers téléphones étaient des Samsung série S vendus dans l’UE, et les seules « apps tierces préinstallées » qu’on pouvait relever étaient Facebook et MS Office, toutes deux faciles à supprimer.
Les apps alternatives de Samsung relèvent des préférences personnelles : je les ai trouvées plus pratiques que les « originales » de Google.
D’après mon expérience rapide avec des téléphones d’autres marques, Samsung fait plutôt partie des bons choix Android en matière de logiciel et d’expérience utilisateur.
Sur un appareil flagship à 1 200 dollars, c’est honteux.
Il est expliqué que « si vous n’avez pas choisi d’utiliser un compte Microsoft SwiftKey sur votre appareil Android, toutes les données personnelles et linguistiques générées par Microsoft SwiftKey sont stockées localement sur l’appareil et ne sont pas transmises ».
Je l’utilise parce qu’il permet de passer naturellement d’une langue activée à l’autre, et il permet aussi de saisir sans heurts des phrases comme « meet me at Østerport Station ».
Mais les apps préinstallées posent problème : quand j’achète un téléphone Samsung, la première chose que je fais est d’exécuter
pm uninstall –k ––user 0.L’outil lié fait la même chose de façon plus simple à utiliser, mais certains éléments, comme ceux liés au compte Samsung ou à Knox, restent impossibles à supprimer sans installer une ROM custom.
Ce projet n’est plus maintenu depuis un an.
Le fork maintenu le plus récent est disponible sur https://github.com/Universal-Debloater-Alliance/universal-an....
Les commandes Android correspondantes utilisées par ce projet ressemblent grosso modo à ceci :
dpkg --get-selections:adb shell pm list packages | sortdpkg -r:adb shell pm uninstall -k --user 0Pour masquer des icônes dans la barre d’état, selon la version, on peut exécuter
adb shell dumpsys activity service SystemUIService, chercher « icon slots: » pour identifier les noms, puis définir quelque chose commeadb shell settings put secure icon_blacklist battery,wifi,clock, ....Cette commande remplace la liste de blocage existante par la nouvelle liste.
Par exemple, la plupart des équipes cœur Android et Pixel de Google savent que les bascules Wi-Fi et données mobiles sont utilisées séparément, mais le produit réel ne propose qu’une seule tuile de réglages rapides qui combine les deux.
On peut toutefois réactiver le mode à deux tuiles via un réglage caché ; je ne comprends pas pourquoi ce genre de chose arrive si souvent chez Google.
Depuis quelques semaines, je me demandais ce qu’il était advenu du développement de systèmes d’exploitation open source et libres pour appareils mobiles
Je me demande pourquoi des systèmes comme GrapheneOS ou CalyxOS ne fonctionnent que sur les téléphones fabriqués par Alphabet Inc, et pas sur d’autres appareils ; où est passé le type de développement à l’ancienne façon Linux, avec un système d’exploitation rassemblant les variantes matérielles pour fournir des pilotes et du support à presque tous les appareils ?
Je me demande si l’industrie du hardware mobile est devenue si frileuse et verrouillée que les utilisateurs ne possèdent plus vraiment leurs appareils, mais utilisent des appareils possédés par d’autres entités
Ou bien s’il existe une autre raison à l’absence de système d’exploitation prenant en charge de nombreux appareils ; peut-être que quelque chose m’échappe
GrapheneOS et CalyxOS n’ont pas non plus accès aux pilotes indispensables : ils récupèrent donc des blobs binaires dans l’image d’origine et les redistribuent avec
Ces projets sont donc remplis de pilotes noyau fermés, et sont liés à des versions précises du noyau pour pouvoir utiliser ces pilotes binaires
L’idée est qu’au final, le maximum que puisse faire la version open source consiste à choisir un autre paquet d’« apps système », ce qui, en pratique, n’est guère mieux que changer un thème
Pour prendre en charge un appareil X donné, il suffit d’obtenir les blobs binaires via une faille root, puis on peut les distribuer pour cet appareil
https://grapheneos.org/faq#supported-devices est également inacceptable pour moi
Si ma mémoire est bonne, Alphabet/Google a reçu des financements pour distribuer le système d’exploitation Android ; à une époque, ils ont aussi sorti des téléphones matériels, puis ont disparu en laissant d’autres entreprises prendre le relais, avant de réapparaître plus tard en semblant prendre de l’avance grâce aux efforts des autres fabricants
Or, si le système d’exploitation n’existe que sur les téléphones Google et pas sur les autres appareils, je ne sais pas si c’est normal, et j’ai l’impression qu’ils ont lâchement accaparé le travail des autres
La liste d’appareils sur https://calyxos.org/#Devices s’est un peu allongée par rapport à l’ancienne http://web.archive.org/web/20230605161332/https://calyxos.or..., mais elle n’a rien à voir avec des projets comme OpenWRT, HyperWRT, DD-WRT ou Tomato
Je ne fais donc pas confiance à GrapheneOS ni à CalyxOS, et j’aimerais voir sur les téléphones une dynamique comparable à celle des firmwares open source pour routeurs Wi-Fi, qui prenaient en charge de nombreux appareils
J’ai essayé d’appliquer une de ces listes sur un Xiaomi réinitialisé en sortie d’usine, et il est devenu inutilisable juste après le redémarrage
Il plantait immédiatement après la connexion et était inutilisable ; j’ai fini par le réparer, mais j’ai appris qu’il fallait être prudent
Un élément indispensable sur un modèle peut être une app préinstallée sur un autre
Je ne comprends pas pourquoi c’est nécessaire
On peut désactiver les apps directement dans les réglages du téléphone, et on ne voit pas clairement ce que cet outil apporte en plus
La FAQ dit qu’il « supprime » aussi depuis le profil utilisateur et efface le cache et les données, mais je ne comprends pas très bien ce que cela signifie exactement
Il existe un outil GUI similaire pour nettoyer et personnaliser via ADB les tablettes Amazon Fire non rootées
https://xdaforums.com/t/windows-linux-tool-fire-toolbox-v33-...
Je me demande pourquoi on ne peut pas compiler un Android complètement propre depuis les sources et l’installer directement sur son téléphone
Qu’est-ce qui l’empêche ?
Mais il faut un téléphone dont le bootloader peut être déverrouillé, et comme le fabricant ne fournit pas les sources de nombreuses parties, on ne peut pas reconstruire exactement la même image que celle du fabricant
Si le matériel est pris en charge, on peut installer un système maintenu par la communauté comme LineageOS
L’inconvénient, c’est que des apps comme Google Pay peuvent ne plus fonctionner, parce qu’elles doivent passer le système d’attestation SafetyNet de Google
Il existe parfois des contournements, mais ils m’ont toujours semblé être des hacks instables
Le marché des téléphones ressemble au marché des PC de bureau des années 90
Sur les ordinateurs qui ne sont pas des PC, ces choses ne sont pas garanties
Ça ne veut pas dire que c’est facile, mais tout le code source est là
Pour supprimer les apps préinstallées sur un appareil Android, directement ou indirectement, ADB est la seule option
Même ma vieille tablette Mediacom 10 pouces bas de gamme refusait d’être rootée quel que soit l’outil utilisé, mais la suppression des services et éléments inutiles est devenue facile avec ADB
C’est toutefois assez risqué : au final, les services Google ne fonctionnent plus, mais WhatsApp marche encore pour rester en contact avec les 7 ou 8 personnes que je n’ai pas réussi à convaincre d’utiliser l’e-mail, et je peux aussi télécharger depuis F-Droid, donc ça me suffit
https://shizuku.rikka.app/
https://github.com/samolego/Canta
Je me demande où trouver une liste à jour qui explique, pour les paquets difficiles à identifier sur les appareils Android, ce que chacun fait réellement et quel est l’impact de leur désactivation ou suppression
Je m’intéresse en particulier aux dépendances entre paquets, par exemple lorsqu’on supprime un paquet qui semble sans rapport et que cela casse autre chose
[1] - https://github.com/Universal-Debloater-Alliance/universal-an...