Google · Google TV
Chromecast with Google TV 4K debloat list
The cleanyourtv list for the Chromecast with Google TV 4K disables 15 packages on Google TV: the manufacturer's telemetry, sponsored content rows and preloaded apps you never asked for, plus the stock launcher once the clean home screen is in place. It was tested on a real set by a cleanyourtv contributor.
15
packages disabled
Google TV
operating system
Debloat + launcher
what cleanyourtv does
About this Chromecast with Google TV 4K list
Header: Chromecast with Google TV 4K (2020, device sabrina, product sabrina_prod_stable), 2 GB RAM
Google TV 14 (SDK 34), build UTTC.250917.004 (14193937) Stock launcher: com.google.android.apps.tv.launcherx. No Live TV app and no HDMI inputs (it's a dongle): leave live_tv_package empty in config.xml. Known quirks on this firmware: - ADB on port 5555 is closed (connection refused) until you pair once through Wireless debugging with the stock adb: Developer options > Wireless debugging > Pair device with pairing code, `adb pair <ip:pairport> <code>`, `adb connect <ip:connectport>` (`adb mdns services` lists both ports), then `adb tcpip 5555`. After that tools/tv.py works on 5555 (README, Troubleshooting). - `cmd package set-home-activity com.gathin.tvhome` returns Success but launcherx stays the default. Disable BOTH com.google.android.apps.tv.launcherx and com.google.android.tungsten.setupwraith (setupwraith re-enables launcherx), only after the new launcher is installed. - With launcherx disabled the YouTube button on the remote does nothing. It sends BUTTON_3 (keycode 190). Button Mapper only remaps added buttons in its paid Pro version; Key Mapper (open source, keymapperorg/KeyMapper) does it for free. Play Store lists Key Mapper as incompatible with this device, so install the -foss APK from its GitHub releases, then over ADB: pm grant io.github.sds100.keymapper android.permission.WRITE_SECURE_SETTINGS settings put secure enabled_accessibility_services io.github.sds100.keymapper/io.github.sds100.keymapper.system.accessibility.MyAccessibilityService Map trigger "Button 3" (short press) to action "Launch app > YouTube". Record the trigger with the physical remote: keys injected with `input keyevent 190` don't reach Key Mapper, and D-pad presses made while recording get added to the trigger. - com.google.android.tvrecommendations and com.google.android.apps.education.cast2class ship disabled at the factory; `pm disable-user` on them fails with "Shell cannot change component state". Don't add them to a restore list either. - Disabling dreamx leaves screensaver_components pointing at it. Point it at the launcher's clock: settings put secure screensaver_components com.gathin.tvhome/.ClockDream - Animation scales already ship at 0.5x on this build. Kept on purpose (all work after this list): Google Assistant (com.google.android.katniss), Cast receiver (com.google.android.apps.mediashell), phone remote (com.google.android.tv.remote.service), Play Store / Play Services, Gboard, Bluetooth, com.google.android.tv.dfuservice (remote firmware updates).
Before you run it: every package below is disabled, not uninstalled. Comment out (prefix with #) any line for an app you use. Never disable the Play Store, Play Services, the on-screen keyboard or the TV input services that play HDMI. Switch USB debugging off when you are done.
Packages the Chromecast with Google TV 4K list disables
Telemetry, feedback and ads (4)
| Package | Note |
|---|---|
com.google.android.feedback | — |
com.android.tv.feedbackconsent | — |
com.google.android.tv.remotecontrol.logging | remote usage logging |
com.google.android.apps.tv.netoscope | network diagnostics reporting |
The next four are Privacy Sandbox / federated-learning Mainline modules: worked here, re-enable if (4)
| Package | Note |
|---|---|
com.google.android.federatedcompute | — |
com.google.android.ondevicepersonalization.services | — |
com.google.android.adservices.api | Privacy Sandbox ad services |
com.google.android.ext.adservices.api | — |
Preloaded apps (4)
| Package | Note |
|---|---|
com.google.android.play.games | — |
com.google.android.videos | Google TV / Play Movies |
com.android.printspooler | — |
com.google.android.marvin.talkback | re-enable if you need the screen reader |
Google ambient mode screensaver (replaced by the launcher's Clock screensaver) (2)
| Package | Note |
|---|---|
com.google.android.apps.tv.dreamx | — |
com.google.android.backdrop | — |
Stock home. launcher/build-and-install.sh disables launcherx itself once the new launcher is installed (1)
| Package | Note |
|---|---|
com.google.android.tungsten.setupwraith | setup wizard; its RecoveryActivity otherwise takes over Home |
Apply the Chromecast with Google TV 4K debloat
Turn on Developer options on the TV (Settings → Device Preferences → About → press OK on Build seven times), switch on USB debugging and, if shown, Network or ADB debugging. Then, from a clone of the cleanyourtv repository on a computer on the same Wi-Fi:
export TV_HOST=192.168.1.50 # your TV's IP address
tools/venv/bin/python -I tools/tv.py --probe
tools/disable.sh examples/google-chromecast-gtv-4k/debloat.txt Then build and install the clean launcher, which makes itself the default Home and rolls back if it fails:
TV_HOST=192.168.1.50 launcher/build-and-install.sh Prefer to let an assistant do it? Paste the cleanyourtv prompt into Claude Code with "Chromecast with Google TV 4K" as the model; it reads this list, checks each package on your TV and asks before anything that depends on your preferences.
Restore the Chromecast with Google TV 4K
TV_HOST=192.168.1.50 tools/restore.sh examples/google-chromecast-gtv-4k/debloat.txt com.google.android.apps.tv.launcherx The restore script replays the state recorded before the change, so Home goes back to the launcher that owned it. More in the restore guide and the Google TV debloat guide.
Source: examples/google-chromecast-gtv-4k/debloat.txt in the MIT-licensed cleanyourtv repository.