🧹Werbung und Datensammeln reduzieren

Ein Fernseher mit Android TV zeigt Empfehlungen, gesponserte Kacheln und sammelt Nutzungsdaten. Vieles lässt sich im Menü abstellen, manches nur per ADB. Die Reihenfolge ist wichtig: erst die Menüs, dann die Pakete.

⚠️ Nur am eigenen Gerät – und immer mit Rückweg
Alles hier ist für den eigenen Fernseher gedacht. Halte jede Änderung umkehrbar: erst Paketliste sichern, dann deaktivieren statt löschen, immer nur wenige Pakete auf einmal und nach jedem Schritt prüfen, ob der Fernseher noch normal startet. Systempakete nur mit Bedacht – der letzte Ausweg ist das Zurücksetzen auf Werkseinstellungen, und das löscht alle Apps, Konten und Einstellungen.

🪜Vier Stufen – von harmlos bis tief

1
Einstellungen im Menü

Nur-Apps-Modus, Werbe-ID löschen, Nutzung & Diagnose aus, ACR des Herstellers aus. Ohne ADB, jederzeit umkehrbar.

2
Anderer Startbildschirm

Ein alternativer Launcher zeigt nur die eigenen Apps. Der Original-Launcher bleibt installiert.

3
DNS-Filter im Heimnetz

Pi-hole oder AdGuard Home blocken Werbe- und Telemetrie-Adressen für alle Geräte – ohne Eingriff am Fernseher.

4
Pakete deaktivieren

Per pm disable-user. Wirksam, aber mit Nebenwirkungen – nur mit Sicherung und Rückgängig-Skript.

📎 Quellen: Google TV-Hilfe – „Nur Apps“-Modus · Google TV-Hilfe – Werbe-ID zurücksetzen oder löschen · Google – Werbung (Datenschutzerklärung & Nutzungsbedingungen) · Sony – Samba Interactive TV · AOSP – TvSettings, deutsche Texte

⚙️Stufe 1: Was das Menü hergibt

WasWoWirkung
„Nur Apps“-Modus (Google TV)Einstellungen → Konten & Anmeldung → Profil → „Nur Apps“-ModusStartbildschirm ohne Empfehlungen. Dafür keine Google Suche, kein Assistant, keine Merkliste; je nach Version lassen sich in diesem Modus auch keine Apps installieren.
Werbe-ID zurücksetzen oder löschenGoogle TV: Einstellungen → Datenschutz → Werbung.
Android TV: je nach Hersteller, oft Einstellungen → Info → Rechtliche Hinweise → Werbung
Apps können Werbung nicht mehr über die ID personalisieren. Werbung selbst verschwindet dadurch nicht.
Nutzung & DiagnoseEinstellungen → Datenschutz → Nutzung & DiagnoseKeine Diagnose- und Nutzungsdaten des Geräts mehr an Google.
ACR – automatische InhaltserkennungHerstellermenü; bei Sony z. B. der Punkt „Samba Interactive TV“ in den SystemeinstellungenDer Fernseher erkennt nicht mehr, was gerade läuft (auch über HDMI), und meldet keinen Sehverlauf.
Was ist ACR?
Bei der Automatic Content Recognition gleicht der Fernseher Bild- oder Tonproben mit einer Datenbank ab und weiß so, welche Sendung, welcher Film oder welche Werbung läuft – unabhängig von der Quelle. Das ist eine Funktion des Herstellers, nicht von Android. Ob und unter welchem Namen dein Gerät sie hat, steht in dessen Datenschutzeinstellungen.

📎 Quellen: Google TV-Hilfe – „Nur Apps“-Modus · Google TV-Hilfe – Werbe-ID zurücksetzen oder löschen · Google – Werbung (Datenschutzerklärung & Nutzungsbedingungen) · AOSP – TvSettings, deutsche Texte · Sony – Samba Interactive TV · Samba TV – Abschalten auf Sony-Fernsehern

🏠Stufe 2: Alternativer Startbildschirm

Der Startbildschirm ist eine App wie jede andere. Ein alternativer Launcher zeigt nur, was du willst – etwa Projectivy Launcher (com.spocky.projengmenu) oder der quelloffene FLauncher (me.efesser.flauncher), beide im Play Store.

  1. Launcher installieren und starten – prüfen, dass er sich bedienen lässt.
  2. Die Home-Taste soll ihn öffnen. Ob das System danach fragt, hängt vom Gerät ab; manche Launcher bringen dafür eine eigene Einstellung mit.
  3. Erst wenn das zuverlässig klappt, über das Deaktivieren des Original-Launchers nachdenken – und das Rückgängig-Skript bereithalten.
Welche App ist gerade der Startbildschirm?
adb shell cmd package resolve-activity --brief \
  -a android.intent.action.MAIN -c android.intent.category.HOME

# Standard-Startbildschirm festlegen (wird nicht von jedem Gerät angenommen)
adb shell cmd package set-home-activity com.spocky.projengmenu
Nie den Launcher deaktivieren, bevor der Ersatz läuft
Ohne Startbildschirm bleibt nach dem Druck auf Home ein schwarzes Bild. Solange ADB noch erreichbar ist, hilftadb shell pm enable --user 0 com.google.android.apps.tv.launcherx – sonst nur das Zurücksetzen auf Werkseinstellungen. Der Generator unten lässt die Launcher deshalb gar nicht erst zur Auswahl zu.

📎 Quellen: Play Store – Projectivy Launcher · Play Store – FLauncher · AOSP – PackageManagerShellCommand (Quelltext von „pm“) · tv.cobanov.dev – Android-TV-Aufräumanleitung

🌐Stufe 3: DNS-Filter – und was „Privates DNS“ damit zu tun hat

Ein DNS-Filter wie Pi-hole oder AdGuard Home läuft im eigenen Netz und beantwortet Anfragen nach bekannten Werbe- und Telemetrie-Adressen einfach nicht. Eingetragen wird er im Router (DHCP) – der Fernseher bleibt unberührt, und der Schutz gilt für alle Geräte.

Grenzen: Werbung, die vom selben Server kommt wie der Film, lässt sich so nicht trennen. Und Apps, die einen eigenen DNS-Weg benutzen, umgehen den Filter.

Privates DNS: nur mit eigenem DoT-Server
„Privates DNS“ ist bei Android DNS über TLS. Es verlangt einen Hostnamen mit gültigem Zertifikat – ein gewöhnlicher Pi-hole mit IP-Adresse geht dafür nicht; AdGuard Home kann DoT anbieten. Die TV-Einstellungen haben oft keinen Menüpunkt dafür. Die Schlüssel private_dns_mode und private_dns_specifier existieren aber in Android, und settings putschreibt sie auch am Fernseher. Ob die Firmware sie auswertet, ist geräteabhängig – nach dem Setzen prüfen, ob der Fernseher noch ins Netz kommt.
Privates DNS setzen – prüfen – zurücknehmen
adb shell settings put global private_dns_specifier dns.example.org
adb shell settings put global private_dns_mode hostname

# prüfen
adb shell settings get global private_dns_mode
adb shell settings get global private_dns_specifier

# Rückweg: wieder „Automatisch“
adb shell settings put global private_dns_mode opportunistic
adb shell settings delete global private_dns_specifier

📎 Quellen: Pi-hole – Dokumentation · AdGuard Home – Dokumentation · Android-Hilfe – Privates DNS · AOSP – android.provider.Settings (Quelltext)

🧾Stufe 4: Pakete deaktivieren – Checklisten-Generator

Deaktivieren oder entfernen?
BefehlRückweg
deaktivierenpm disable-user --user 0 <paket>pm enable --user 0 <paket>
für Benutzer 0 entfernenpm uninstall -k --user 0 <paket>cmd package install-existing --user 0 <paket>

Beides lässt die Datei im System liegen – auch „entfernen“ löscht ein Systempaket nur für den Benutzer. Deaktivieren ist trotzdem die bessere Wahl: ein Befehl hin, ein Befehl zurück.

Die drei Risikostufen

unkritisch – das Gerät funktioniert ohne das Paket erfahrungsgemäß normal.

mit Nebenwirkung – eine sichtbare Funktion fällt weg (Sprachsuche, Bildschirmschoner, Empfehlungen), oder der Zweck ist nicht dokumentiert.

nicht anfassen – ohne das Paket startet der Fernseher nicht mehr richtig oder verliert Updates, Eingänge oder die Fernbedienung.

Paketnamen aus dem Netz sind keine Garantie. Vor dem Deaktivieren mit pm list packages prüfen, ob das Paket auf dem eigenen Gerät überhaupt existiert – die Skripte tun das automatisch und überspringen alles Unbekannte.
Auf fast jedem Gerät vorhanden – je nach Oberfläche (Android TV oder Google TV) aber nur ein Teil davon.
adb shell pm list packages | grep -E 'google|com.android'
Art
0 Paket(e) ausgewählt
tv-aufraeumen.sh
#!/usr/bin/env bash
# Pakete deaktivieren – erzeugt mit VisualAndroidTV
# Nur am EIGENEN Gerät verwenden. Ohne Parameter läuft ein Trockenlauf; erst --apply ändert etwas.
set -euo pipefail

TV_HOST="${TV_HOST:-192.0.2.50:5555}"
APPLY=0
[ "${1:-}" = "--apply" ] && APPLY=1

adb connect "$TV_HOST" >/dev/null
adb -s "$TV_HOST" get-state >/dev/null 2>&1 || { echo "Keine Verbindung zu $TV_HOST" >&2; exit 1; }

tv() { adb -s "$TV_HOST" shell -n "$@"; }

# Paketlisten einmal holen: installiert / deaktiviert / dem System bekannt (auch für Benutzer 0 entfernte)
INSTALLED="$(tv pm list packages --user 0 | tr -d '\r')"
DISABLED="$(tv pm list packages -d --user 0 | tr -d '\r')"
KNOWN="$(tv pm list packages -u --user 0 | tr -d '\r')"
has() { grep -qxF -- "package:$2" <<<"$1"; }

run() {
  if [ "$APPLY" -eq 1 ]; then
    if tv "$@" >/dev/null; then echo "erledigt   $*"; else echo "FEHLER     $*"; fi
  else
    echo "würde      adb -s $TV_HOST shell $*"
  fi
}

off() {
  if ! has "$INSTALLED" "$1"; then echo "nicht da   $1"; return 0; fi
  if has "$DISABLED" "$1"; then echo "schon aus  $1"; return 0; fi
  run pm disable-user --user 0 "$1"
}

# (keine Pakete ausgewählt)

[ "$APPLY" -eq 1 ] || echo "Trockenlauf – nichts geändert. Zum Ausführen: $0 --apply"

Beide Skripte laufen ohne Parameter im Trockenlauf und zeigen nur, was sie tun würden. Erst --apply ändert etwas. Lade immer beide herunter, bevor du das erste ausführst.

📎 Quellen: AOSP – PackageManagerShellCommand (Quelltext von „pm“) · Android Developers – Android Debug Bridge (adb) · Level1Techs – De-Bloat Nvidia Shield Pro · tv.cobanov.dev – Android-TV-Aufräumanleitung · Sony Community – Disabling system apps via adb

🧯Wenn etwas schiefgeht

Überblick und Rückweg von Hand
adb shell pm list packages -d            # alles, was deaktiviert ist
adb shell pm list packages -u | sort     # alles, was das System kennt (auch Entferntes)
adb shell pm enable --user 0 <paket>
adb shell cmd package install-existing --user 0 <paket>
  • 🔁 Nach einem Systemupdate können deaktivierte Pakete wieder aktiv sein – das Skript einfach erneut im Trockenlauf starten.
  • 🔌 Solange ADB erreichbar ist, lässt sich alles zurückholen. Deshalb das Debugging erst ausschalten, wenn der Fernseher ein paar Tage normal lief.
  • 🏭 Letzter Ausweg: Einstellungen → System → Info → Zurücksetzen → Auf Werkseinstellungen zurücksetzen (Pfad je nach Gerät leicht anders). Danach sind alle Pakete wieder im Auslieferungszustand – und alle eigenen Apps und Konten gelöscht.

📎 Quellen: AOSP – PackageManagerShellCommand (Quelltext von „pm“) · Android Developers – Android Debug Bridge (adb)