Contexte et problème d'affichage

Sur la plupart des appareils Android TV, l'interface Google TV affiche en haut de l'écran d'accueil une bannière promotionnelle. Cette bannière persiste même en mode Apps only, et aucune option native ne permet de la désactiver. De plus, l'application officielle YouTube ajoute ses propres publicités, ce qui rend l'expérience utilisateur très intrusive.

Remplacement du lanceur avec Projectivy

Projectivy Launcher intervient comme alternative directe au lanceur propriétaire com.google.android.apps.tv.launcherx. En activant l'option « Override current launcher », le lanceur stock reste visible brièvement, il faut donc le désactiver complètement via ADB :

adb -s $D shell pm disable-user --user 0 com.google.android.apps.tv.launcherx
adb -s $D shell pm disable-user --user 0 com.google.android.tungsten.setupwraith
adb -s $D shell cmd package set-home-activity com.spocky.projengmenu/.ui.home.MainActivity

Ces trois commandes désactivent le lanceur Google, désactivent le composant qui le réactive, puis définissent Projectivy comme activité d'accueil. Le résultat est un écran d'accueil limité aux seules applications installées, sans bandeau publicitaire.

Substitution de YouTube par SmartTube

SmartTube, disponible en sideload, propose une lecture YouTube sans publicités et intègre SponsorBlock. Pour éviter les conflits, le package officiel com.google.android.youtube.tv doit être retiré :

adb -s $D shell uninstall com.google.android.youtube.tv
# Si le package est intégré au firmware :
adb -s $D shell pm uninstall --user 0 com.google.android.youtube.tv

Après la désinstallation, le bouton YouTube du télécommande peut être redirigé vers SmartTube grâce à Button Mapper.

Gestion des raccourcis, accessibilité et optimisation

Button Mapper et Projectivy nécessitent l'activation du service d'accessibilité. La commande suivante remplace la liste existante tout en conservant les services déjà actifs :

adb -s $D shell settings put secure enabled_accessibility_services \
  'flar2.homebutton/a.i:com.spocky.projengmenu/com.spocky.projengmenu.services.ProjectivyAccessibilityService'
adb -s $D shell settings put secure accessibility_enabled 1

Pour garantir la persistance du service, l'application Button Mapper reçoit la permission WRITE_SECURE_SETTINGS et est exclue de l'optimisation batterie :

adb -s $D shell pm grant flar2.homebutton android.permission.WRITE_SECURE_SETTINGS
adb -s $D shell dumpsys deviceidle whitelist +flar2.homebutton

Enfin, la fluidité de l'interface est améliorée en réduisant les échelles d'animation et en désactivant les applications Google non essentielles :

for k in window_animation_scale transition_animation_scale animator_duration_scale; do
  adb -s $D shell settings put global $k 0.75
done
for p in com.google.android.videos com.google.android.play.games \
         com.google.android.feedback com.google.android.partnersetup; do
  adb -s $D shell pm disable-user --user 0 $p
done

Ces ajustements sont réversibles avec adb shell pm enable ou adb shell cmd package install-existing. Le processus complet supprime la bannière Google, élimine les publicités YouTube et offre un contrôle complet du télécommande, tout en restant compatible avec la plupart des appareils Android TV.