🧹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.
🪜Vier Stufen – von harmlos bis tief
Nur-Apps-Modus, Werbe-ID löschen, Nutzung & Diagnose aus, ACR des Herstellers aus. Ohne ADB, jederzeit umkehrbar.
Ein alternativer Launcher zeigt nur die eigenen Apps. Der Original-Launcher bleibt installiert.
Pi-hole oder AdGuard Home blocken Werbe- und Telemetrie-Adressen für alle Geräte – ohne Eingriff am Fernseher.
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
| Was | Wo | Wirkung |
|---|---|---|
| „Nur Apps“-Modus (Google TV) | Einstellungen → Konten & Anmeldung → Profil → „Nur Apps“-Modus | Startbildschirm 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öschen | Google 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 & Diagnose | Einstellungen → Datenschutz → Nutzung & Diagnose | Keine Diagnose- und Nutzungsdaten des Geräts mehr an Google. |
| ACR – automatische Inhaltserkennung | Herstellermenü; bei Sony z. B. der Punkt „Samba Interactive TV“ in den Systemeinstellungen | Der Fernseher erkennt nicht mehr, was gerade läuft (auch über HDMI), und meldet keinen Sehverlauf. |
📎 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.
- Launcher installieren und starten – prüfen, dass er sich bedienen lässt.
- 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.
- Erst wenn das zuverlässig klappt, über das Deaktivieren des Original-Launchers nachdenken – und das Rückgängig-Skript bereithalten.
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
adb 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.
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.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
| Befehl | Rückweg | |
|---|---|---|
| deaktivieren | pm disable-user --user 0 <paket> | pm enable --user 0 <paket> |
| für Benutzer 0 entfernen | pm 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.
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.
pm list packages prüfen, ob das Paket auf dem eigenen Gerät überhaupt existiert – die Skripte tun das automatisch und überspringen alles Unbekannte.#!/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
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)