2026.03.02 · TX/776 825w

Debloating Android TV: a love letter to ADB

FIG. 01 - DEBLOATING ANDROID TV: A LOVE LETTER PLATE 01 / 01

The first thing the Chromecast with Google TV does when you turn it on is try to sell you something. Not in a polite way. The home screen is a billboard with apps grudgingly tucked around the edges. There’s a row of ‘Top picks for you’ that turns out to be whatever Google is pushing this week, a ‘Continue watching’ that includes things from services I don’t subscribe to, and an autoplaying trailer for a Netflix original I will never watch sitting at the top like a permanent guest.

The unit is called Sabrina internally – Google’s codename, not mine. There were two in play: one on 192.168.1.61 that I treated as the test bench in the bedroom, and a second running the living room TV that was the real target. Test bedroom first, then living room. If you’re going to brick something, brick the one nobody uses.

The job: get the device to wake up into something I chose, not something Google chose.

ADB is the way in. The Android Debug Bridge has been around since Android was Android, and it remains one of the most beautifully terse pieces of tooling Google has ever shipped. A command-line interface to a device on your network that lets you install, uninstall, query, and reconfigure system apps with single commands. You enable Developer Mode on the TV by tapping the build number seven times like it’s 2013, flip on wireless debugging, accept the fingerprint prompt that appears on screen, and you’re in. Fully in. No sandbox, no permission walls, no ceremony.

The first thing I did was list every package on the device. There are hundreds. Most are harmless system plumbing. A surprising number are Google products dressed up as system services so you can’t easily remove them from the UI. com.google.android.tvlauncher is the headline act – the launcher itself, the screen you stare at every time you press home. com.google.android.apps.tv.launcherx is its newer sibling. Below those, every preinstalled streaming app, Google’s TV search overlay, the assistant integration, half a dozen things called frameworkstubs and packagestubs whose purpose I had to look up.

Then there’s katniss.

com.google.android.katniss is the Google search and assistant overlay on Android TV. Someone at Google named the global Android TV search package after Katniss Everdeen. I have no idea whether this was a fan having a moment, a quiet protest about being asked to build yet another search bar, or simply because the project lead really liked the books. But it’s been sitting there in the source for years, on millions of devices, and almost nobody knows. There’s a whole sub-genre of delightful things hiding in Android package names if you go looking. Katniss is the one that made me laugh out loud.

The command for getting rid of any of this is pm uninstall –user 0, followed by the package name. The –user 0 bit is the trick. It doesn’t actually uninstall the app from the system partition. It just removes it for the current user, which is the only user, which means functionally it’s gone. Reversible if you reset the device, which is useful, because at one point I needed that.

Twice, actually.

The first factory reset was because I disabled the launcher before I’d properly sideloaded the replacement. Press home, no launcher to go to, device sits on a black screen forever. The second was a few days later, on a different package, where I’d missed a dependency chain and bricked the boot sequence. Both my fault. Both annoying. The second time, at least, I’d written down what I’d done, which made the recovery measurably faster. The kind of small win you take and try not to think about too hard.

FLauncher is the replacement. Sideloaded as an APK, simple grid of the apps that earned their place – Plex, Emby, a handful of others. No recommendations. No carousel. No ‘because you watched’. Just the apps, in the order I put them.

The bit that makes it stick is Button Mapper. Without it, pressing the home button on the remote sends you straight back to whatever Google has decided home means, regardless of what’s installed. With it, the home button does what the home button should do, which is take you to the launcher you chose. Until that’s wired up, the project has failed, no matter how much else you’ve uninstalled.

The living room unit got the same treatment a week later, once I was confident the recipe worked. Connor noticed within a day. Said it felt faster. It isn’t faster. It’s just not constantly trying to sell him anything.

The Chromecast itself is a perfectly competent little device. The launcher is the problem, and the launcher isn’t a fault – it’s a feature, working exactly as designed, for the wrong person. Strip it back and the hardware does what you bought it to do.

Katniss can stay. She’s not bothering anyone.

00 NODE
▾ OPEN