Ma TV Sony BRAVIA passait son temps à me pousser des promos, des bannières “films en vedette” et des applications que je n’utilise jamais. Pas envie de rooter l’appareil pour autant : trop risqué, et pas nécessaire. ADB (Android Debug Bridge) permet de désactiver une bonne partie de ce qui gêne, sans toucher au système lui-même. Pas tout, comme on va le voir.
On parle beaucoup des agents IA capables d’attaquer des sites web tout seuls, comme si l’autonomie n’avait de valeur que dans un contexte de sécurité offensive. Configurer une télé Android n’a rien d’offensif, mais c’est le même genre de travail : explorer un système qu’on ne connaît pas, repérer ce qui compte, agir dessus sans tout casser. J’ai fait la partie que je ne pouvais pas déléguer, activer le mode développeur, le pairing, connecter ADB, puis j’ai laissé un agent (Claude Code) reprendre la main sur trois fronts : les applications installées en trop, les publicités qui s’affichent, et les paramètres de confidentialité. Voici comment ça s’est passé, avec les pièges en route et ce qui n’a pas marché.
Le matériel et les prérequis
- Sony BRAVIA, Android 14 (SDK 34)
- CPU 32 bits uniquement (armeabi-v7a), chipset Realtek
adbinstallé sur votre machine de dev (paquetandroid-tools-adbsous Ubuntu/Debian,platform-toolsvia le SDK Android sinon)
Le point important n’est pas le modèle exact : c’est qu’Android TV, quel que soit le fabricant, expose un mode de debug sans fil depuis Android 11. C’est ce mode qui rend tout ça possible sans câble ni root.
Étape 1 : débloquer le mode développeur
Sur Android TV, les options développeur sont cachées par défaut. Dans
Paramètres > Système > À propos, il faut aller sur “Build” (ou “Numéro
de build” en français) et appuyer dessus sept fois de suite. Un compteur
apparaît après quelques taps, et un nouveau menu “Options pour les
développeurs” s’ajoute au menu Système une fois les sept taps effectués.
Étape 2 : activer le débogage sans fil
Dans ce nouveau menu, activez le “Wireless debugging”. Un écran affiche alors un port de connexion, qui change à chaque activation.
C’est le premier piège : depuis Android 11, ce port est aléatoire, et il
est différent du port de pairing, qui est lui-même généré séparément sur
un second écran. Avant Android 11, tout le monde utilisait le port fixe
5555. Ce temps-là est révolu.
Étape 3 : le pairing, la partie qui plante le plus souvent
Sur votre machine de dev, sur le même réseau local que la TV :
adb pair <ip-tv>:<port_pairing> # une fois, avec le code affiché à l'écran
adb connect <ip-tv>:<port_connect>
adb devices
Deux pièges classiques ici :
adb connectsur le port de pairing échoue silencieusement. Il faut bien utiliseradb pairsur ce port-là, pasadb connect.- Le code de pairing expire vite. Si
adb pairsemble figé, sans jamais demander le code, ne pas insister : générer un nouveau code sur la TV et relancer immédiatement, au besoin aprèsadb kill-server && adb start-server.
Une fois le pairing réussi, adb devices va afficher le port de pairing
comme offline en permanence. C’est normal : seul le port de connexion
passe à device. Pas de panique si l’entrée offline reste là.
Étape 4 : désactiver les paquets superflus
Une fois ADB connecté, c’est là que j’ai laissé la main à l’agent : lister
les paquets installés (adb shell pm list packages), repérer ceux qui
sentent la promo ou le bloatware, et les désactiver un par un avec pm disable-user. Ce dernier désactive un paquet pour l’utilisateur courant,
sans le désinstaller et sans toucher au système. C’est réversible, donc
un risque raisonnable à déléguer. Voici le groupe promos/démo qui est
passé sans souci :
adb shell pm disable-user --user 0 com.sony.dtv.promos
adb shell pm disable-user --user 0 com.sony.dtv.sonyselect
adb shell pm disable-user --user 0 com.sony.dtv.smarthelp
adb shell pm disable-user --user 0 com.sony.dtv.multiscreendemo
adb shell pm disable-user --user 0 com.sony.dtv.b2b.vendorprotocol
adb shell pm disable-user --user 0 com.sony.qrmt
adb shell pm disable-user --user 0 com.sony.dtv.eulaviewer
adb shell pm disable-user --user 0 com.sony.dtv.helpguidecontents
À ne surtout pas toucher : tout ce qui commence par com.realtek.*
(pilotes tuner/wifi/USB/BT), le launcher
(com.google.android.apps.tv.launcherx),
com.google.android.tungsten.setupwraith, com.android.systemui, et les
services Google (com.google.android.gms, gsf). Désactiver l’un de
ces paquets peut casser l’interface ou la connectivité.
Autre avertissement trouvé dans les recherches de l’agent : désactiver
com.google.android.katniss coupe la recherche et l’assistant vocal. À
éviter si vous utilisez l’un des deux.
Étape 5 : le bandeau publicitaire, la limite qu’on n’a pas passée
Après avoir désactivé le groupe promos/démo, un bandeau “Films en vedette”
restait affiché sur l’accueil. En creusant, l’agent a établi qu’il ne
venait pas de com.sony.dtv.sonyselect (déjà désactivé), mais bien de
Android TV.
Pour aller plus loin que ça sur l’affichage publicitaire, la seule alternative que je connaisse est radicale : sortir complètement du système Android TV natif de la TV, en branchant un boîtier externe (mini PC, stick Android TV) qui tourne son propre système et masque le launcher Android par défaut. Ça marche, mais ça ajoute un appareil, une télécommande de plus, et on perd les optimisations audio/vidéo intégrées au firmware du fabricant, etc. Je ne suis pas allé jusque-là pour ce projet : un bandeau cosmétique ne justifie pas de sacrifier l’intégration native.
Étape 6 : couper l’identifiant publicitaire
Ce réglage n’est exposé par aucun paquet qu’on peut manipuler avec pm,
il est enterré dans un sous-menu de l’interface : Paramètres > Confidentialité > Annonces > Supprimer l'identifiant publicitaire.
Plutôt que de naviguer moi-même à la télécommande, j’ai laissé l’agent s’en charger avec les deux commandes qu’ADB expose pour piloter l’interface à l’aveugle :
adb shell screencap -p /sdcard/screen.png && adb pull /sdcard/screen.png
adb shell input tap <x> <y>
Des aller-retours capture-clic-capture, menu après menu, jusqu’à tomber sur le bon écran.
Piège de traduction sur l’interface française : le menu traduit “Ads” par “Annonces”, pas par “Publicité”. Un piège pour un humain qui cherche le mauvais mot, mais aussi pour l’agent, qui a dû ajuster sa recherche visuelle sur le même mot avant de trouver le bon bouton.
Étape 7 : SmartTube contre les publicités YouTube
L’application YouTube officielle a droit à son propre lot de pubs, que rien de ce qui précède ne touche. SmartTube est un client YouTube alternatif, sans pub, qui se sideload directement via ADB une fois la connexion établie :
adb install SmartTubeNext_xx.xx.apk
Pas de version sur le Play Store, sans surprise : Google ne laisse pas passer une appli qui bloque les pubs qui financent YouTube. Il faut récupérer l’APK depuis les releases GitHub du projet et le sideloader à la main.
Tout est réversible
Rien de ce qui précède n’est destructif. Pour annuler :
adb shell pm enable --user 0 <package> # annule un disable-user
adb shell cmd package install-existing <package> # annule un uninstall --user 0
adb shell pm clear com.google.android.apps.tv.launcherx # si l'accueil bug après coup
Et en dernier recours, une réinitialisation d’usine restaure tout.
Sources qui m’ont bien aidé (et l’agent)
- https://github.com/therealhoodboy/skinny-bravia
- https://gist.github.com/atais/f3f4544bb6685c4c2e8b0335f878bb3f
- https://www.avsforum.com/threads/sony-a80-90j-google-tv-10-process-debloat-list.3221239/
- https://github.com/tutyamxx/androidtv-debloat-script
Le point commun de ces guides communautaires : ils listent des paquets “à faible risque”, confirmés par plusieurs sources indépendantes, mais aucun ne remplace un test prudent, paquet par paquet, sur son propre modèle de TV.
Bilan : huit paquets de bloatware désactivés, YouTube débarrassé de ses pubs via SmartTube, un bandeau publicitaire toujours vivant (ouin), un identifiant pub coupé “à la main” parce que ADB ne va pas jusque-là. Pas une victoire totale. Mais la question n’était pas de gagner contre les pubs, c’était de voir jusqu’où un agent avance seul sur un système qu’il ne connaissait pas et le voir cliquer sur les menus à distance, c’est magique. Et perturbant.