How to Debloat Android TV Over Wi-Fi

A step-by-step, unofficial guide to debloating any Android TV using ADB over Wi-Fi and the open-source cleanyourtv project — no root, nothing uninstalled, and a one-line restore if anything goes wrong.

Updated October 20, 2026 · Unofficial guide

Nearly every Android TV box and TV set ships with the same problem: a manufacturer skin bolted onto stock Android TV, stuffed with telemetry, ad services and preloaded apps nobody asked for. The good news is that Android TV exposes the same debug bridge Android phones do, so you can debloat Android TV the same way developers debug a phone app — over Wi-Fi, no cable, no root. This guide walks through the process using cleanyourtv, an open-source, MIT-licensed project that debloats Android TV and Google TV and swaps the ad-filled home screen for an Apple-TV-style launcher. This is an unofficial guide; cleanyourtv is not affiliated with Google or any TV manufacturer.

Safety first. Every step below uses pm disable-user, never pm uninstall. Disabled packages stay on the TV and can be switched back on in seconds. Never disable the Play Store, Google Play Services, the on-screen keyboard, or any TV input / HDMI service — those are the four categories that, if disabled, can make the TV unusable without a factory reset. Keep the debloat list you applied so the restore script can undo it, and close ADB once you're finished.

What debloating Android TV actually does

To debloat Android TV means disabling the manufacturer's telemetry, ad services, "Discover" content rows and preloaded junk apps that most people never open. Cleanyourtv does this in three stages: it backs up the list of installed packages and current settings, disables the bloat with pm disable-user one package at a time, then installs a roughly 300 KB native launcher and makes it the default Home screen. Nothing is flashed, nothing is rooted, and nothing is permanently removed — which is exactly why Android TV debloat over ADB is considered low-risk compared to custom ROMs or rooting.

Step 1: Turn on developer options and USB debugging

Before you can debloat Android TV, the TV has to expose its debug bridge. On the TV itself:

  1. Settings → Device Preferences → About.
  2. Press OK on Build seven times. A toast confirms developer mode is on.
  3. Back out to Settings → Device Preferences → Developer options.
  4. Turn on USB debugging. If the TV also shows a separate Network debugging or ADB debugging toggle, turn that on too — some Android TV builds gate network ADB behind a second switch.
  5. Keep the TV powered on and connected to the same Wi-Fi network as the computer you'll run commands from.

On a handful of sets, Xiaomi among them, there's no separate Wireless debugging entry; USB debugging alone opens network ADB. If both toggles are greyed out or missing (seen on some carrier-locked boxes), that's a device-owner policy from the ISP, not something this guide can fix.

Step 2: Connect over Wi-Fi on port 5555

Android TV's debug bridge listens on port 5555 once USB debugging is on. From a computer on the same network:

adb connect 192.168.1.50:5555

Accept the "Allow USB debugging?" prompt that appears on the TV screen — this is the one explicit permission step in the entire process, equivalent to authorizing a computer to develop against an Android phone. Once accepted, run adb devices to confirm the connection, then you're ready to debloat Android TV.

Fixing "No route to host" on macOS

If adb connect fails with "No route to host" on a Mac, even though the TV's port 5555 is reachable, that's almost always macOS's Local Network privacy feature silently blocking Google's signed adb binary, not an actual network problem. cleanyourtv's own tooling, tools/tv.py, sidesteps this with a pure-Python ADB client (adb-shell) instead of the system binary:

python3 -m venv tools/venv && tools/venv/bin/pip install -r tools/requirements.txt
export TV_HOST=192.168.1.50
tools/venv/bin/python -I tools/tv.py --probe

That --probe command returns the TV's model, Android version and firmware, confirming the connection without touching anything else on the TV.

Step 3: Decide what to disable, and what to never touch

The bloat is different on every brand, so a safe Android TV debloat starts by listing installed packages (adb shell pm list packages) and sorting them into categories:

  • Safe to disable: manufacturer telemetry and analytics, ad-serving and "sponsored content" services, home-screen recommendation rows, retail demo apps, and preloaded streaming apps you don't personally use.
  • Never disable: Google Play Store, Google Play Services (com.google.android.gms), the on-screen keyboard / input method, any TV input or HDMI service (these control switching inputs and reading the remote), and anything the TV's own settings describe as a system input provider.
  • Disable carefully, usually last: the stock launcher and, on some Google TV sets, the first-run setup wizard — both can momentarily take over the Home key if disabled in the wrong order. See the Google TV guide below for the specific gotcha there.

Cleanyourtv ships 80 tested debloat lists across 28 brands in its examples/ folder, each one documenting exactly what a contributor disabled on a real TV, and what they kept. If your model is already in that list, you skip discovery entirely.

Step 4: Apply the list in small batches

Chained pm disable-user commands can silently stop after the first one fails, so apply changes one package per shell call rather than piping a dozen commands together. Cleanyourtv's tools/disable.sh handles the batching and, critically, writes down the TV's state — which packages were already enabled, disabled or not installed, and which component owned the Home key — before it changes anything:

tools/disable.sh examples/xiaomi-mi-tv-4a/debloat.txt

That record is what makes restoring possible later. Go slowly: disable the obvious telemetry group first, reboot or reopen a few apps, and confirm nothing broke before moving to the next group on the list.

Step 5: Swap in a clean launcher

Debloating the background services is half the job; the other half is the ad-filled home screen itself. Cleanyourtv installs a small (about 300 KB) native launcher, com.gathin.tvhome, styled after the Apple TV home screen — a dock of your favorite apps, a full-width grid for the rest, and no sponsored rows:

TV_HOST=192.168.1.50 launcher/build-and-install.sh

The install script is careful about ordering: it launches the new launcher and confirms it owns the Home key before disabling the stock launcher, because disabling the old Home app before the new one is running can leave the Home button pointed at a factory test screen with nothing to catch it.

Step 6: Close ADB when you're done

Network ADB on port 5555 is plaintext, and on firmware with ro.adb.secure=0 it hands a shell to anyone on the same Wi-Fi. Once you've finished debloating Android TV, go back into Developer options and turn USB debugging (and Network/ADB debugging, if present) back off, and revoke any USB debugging authorizations. The new launcher keeps working fine without the debug bridge open.

Find your brand's Android TV debloat list

Cleanyourtv's example lists cover far more than Android TV's biggest brands. Jump straight to a brand page for the exact packages contributors disabled on that hardware, or browse every tested TV list directly.

BrandAndroid TV debloat page
TCLTCL debloat list
XiaomiXiaomi debloat list
SonySony debloat list
HisenseHisense debloat list
PhilipsPhilips debloat list
BenQBenQ debloat list
CHiQCHiQ debloat list
HitachiHitachi debloat list
PanasonicPanasonic debloat list
SkyworthSkyworth debloat list

Android TV vs. Google TV vs. Fire TV

"Android TV" is the umbrella name for the whole operating system family. If your box or TV's home screen looks like a row of big colorful tiles with a search button at the top, you likely have the newer Google TV interface layered on top — that version has a couple of extra gotchas worth reading about in our Google TV debloat guide. If your remote has an Amazon logo and the box is a Fire TV Stick or Fire TV Cube, you're on Fire OS instead, which only supports the debloat half — see debloating Fire TV for why a custom launcher doesn't apply there. For the bigger picture on what's actually causing the ads in the first place, our removing ads on a smart TV guide covers DNS-level blocking too.

Getting it wrong, and getting back to stock

If a debloat list disables something you rely on, or the TV behaves oddly afterward, restoring the TV replays the exact record cleanyourtv saved before anything changed — it's not a guess, it's a diff. If you'd rather let an AI coding assistant drive the whole Android TV debloat process (discovering your bloat, asking before touching anything, confirming with screenshots), see the cleanyourtv prompt, which is the actual prompt the project is built around.

Frequently Asked Questions

Is it safe to debloat Android TV?

Yes, if you use pm disable-user instead of uninstalling. Disabling a package hides it and stops it from running, but the APK stays on the TV, so a one-line restore script brings everything back. Nothing is flashed, rooted or deleted when you debloat Android TV this way, which is the whole premise behind cleanyourtv.

Do I need root to debloat Android TV?

No. Android TV debloat over ADB works on an unmodified, unrooted TV because pm disable-user only touches the user profile, not the system partition. A handful of manufacturer packages are protected even for the shell user — cleanyourtv's lists mark those with a comment so the script skips them instead of printing a wall of errors.

What is the ADB port for Android TV?

Network ADB listens on port 5555 once USB debugging (or a Network/ADB debugging toggle) is on and your computer is on the same Wi-Fi. adb connect <tv-ip>:5555 opens the shell cleanyourtv's scripts use to debloat Android TV; close the port again when you're done.

Why does adb connect say "No route to host" on macOS?

Recent macOS treats Google's signed adb binary as its own app under Local Network privacy and silently blocks it from reaching the TV, even though port 5555 is open. tools/tv.py in the cleanyourtv repo sidesteps the problem entirely with a small adb-shell Python client instead of the system binary, so Android TV debloat still works.

Which apps should I never disable when I debloat Android TV?

Keep Play Store, Google Play Services, the on-screen keyboard (IME) and the TV input / HDMI services enabled no matter which brand you own. Disabling any of those breaks app updates, sign-in or the remote, and some TVs need a factory reset to recover.

Will debloating Android TV void my warranty?

No installed app is removed, no bootloader is unlocked and no partition is touched, so there's nothing a manufacturer can point to as tampering. That said, this is an unofficial, community-run process — cleanyourtv is not affiliated with Google or any TV brand, and you're doing it at your own risk.

Can I undo an Android TV debloat?

Yes — that's the point of disabling instead of removing. tools/restore.sh examples/<your-tv>/debloat.txt replays the exact record cleanyourtv saved before it touched anything, re-enabling every package and handing Home back to whichever launcher owned it.

Does debloating Android TV speed it up?

On 1-2 GB RAM sets, yes, noticeably: fewer background services competing for memory means less stutter opening apps and less janky scrolling in menus. The bigger win most people notice first is the home screen — no more ad rows or "Discover" nags once the stock launcher is replaced.

Find your TV's debloat list

80 tested lists across 28 brands, each with the exact packages to disable and the one-line restore command.