TK Tony Kador

Guide · September 2026

TV crawling? Let an AI clean it up for you

The TV now starts in 5 seconds instead of a minute.

My Android TV has 2 GB of memory. Fifty-three megabytes of it were free — the set was suffocating. After the cleanup it has 565. Below: exactly what I did, a ready prompt for Claude Code or Codex, and the way to put everything back if you change your mind.

What the AI did in one hour

  • Took out the old, heavy launcher
  • Cleared every bit of advertising and the "recommended" rows
  • Switched off service apps that were running for nothing
  • Installed a new lightweight launcher — fast, no ads
  • Set up parental control
  • Tuned the whole system
  • Suggested a family slideshow on its own: picked 100 of our photos and set them as the screensaver
53 MB → 565 MBfree memory
92% → 16%swap in use
46 → 37background processes
29packages disabled, none deleted

My case

Why the TV was actually slow

A TCL running Android TV 11, two gigabytes of memory, ten gigabytes for the system. The firmware dates from October 2022 and will never be updated again. We did not buy it yesterday, and for the past year it needed twenty seconds to open YouTube.

The obvious conclusion was: weak hardware, time to replace it. The conclusion was wrong. Here is what the diagnosis showed before I touched anything:

What was measuredBeforeAfter
Start-up time50–60 sec5 sec
Free memory53 MB565 MB
Swap file (zram, 614 MB)92% used518 MB free
Load average across 4 cores20–25normal
App processes4637

A load average of 20 to 25 on four cores means the queue to the processor holds five times more work than it can handle. Not "the TV is old" — the TV is busy with everything except what I want from it.

What it was busy with

Going through the running processes gave a clear picture. Memory was taken by:

  • Manufacturer telemetry — statistics on what you watch and when.
  • Ad shelves and recommendation rows — that "recommended" strip on the home screen, which runs its own service.
  • Movie stores nobody used — Rakuten TV, Prime Video, Google Play Movies, Play Games.
  • Two voice assistants at once — Google's and the manufacturer's own, plus a microphone service and Alexa.
  • Screen mirroring — Miracast and its companion services, never once switched on.
  • The stock launcher — heavy, full of ads, loading artwork on every power-on.

None of it is needed by a person who turns the TV on for YouTube and Netflix.

What was done

Twenty-nine packages disabled. Not deleted — disabled: the pm disable-user command leaves the app in place and lets you bring it back with one line. On top of that, interface animations were sped up and a lightweight launcher replaced the stock one.

Claude Code did all of the work: connected to the TV over the network, pulled the package list, explained what each one was, disabled them in batches and stopped for a check in between. All I had to do was say "yes" or "leave that one alone".

The owner's verdict: "it boots almost instantly". Two weeks on, nothing has fallen over: the remote works, HDMI switches, Netflix plays.

Before you start

What you need

A computer on the same network

Windows, Mac or Linux, it does not matter. What matters is that the computer and the TV sit behind the same router.

Claude Code or Codex

Either one. Both run in a terminal and execute commands themselves, which is exactly what is needed. The prompt below fits both.

The TV remote

Two steps can only be done with it: enabling developer mode and approving the connection once.

An hour

The cleanup itself took about twenty minutes, an hour with all the extras. There is no rush: the agent stops and waits for your answer.

What you do NOT need: root, an unlocked bootloader, a custom ROM or a soldering iron. The warranty stays intact, the system stays stock. Everything done here is reversible.

Preparation

Three steps with the remote in hand

This is the only part you do on the TV yourself. Everything after it is the agent's job.

  1. Turn on developer mode

    On the TV: Settings → System → About. Find the "Build" line (or "Build number") and press it seven times in a row. A message appears: "You are now a developer".

  2. Turn on debugging

    Go back to Settings → System → Developer options. Enable "USB debugging". If there is a separate "Wireless debugging" entry, enable that too.

  3. Open Claude Code or Codex

    Start it in a terminal on your computer, copy the whole prompt below and send it. Nothing else is needed from you.

Important: the first time the agent connects, the TV will show "Allow debugging from this computer?". Press "Allow" with the remote and tick "Always allow". Until you do, the agent keeps getting refused and goes nowhere.

The main part

The prompt

Copy the whole thing and send it to the agent. There is nothing to fill in: it finds the TV on your network by itself. The prompt is written so the agent cannot delete anything, moves in small steps, and hands you a rollback script at the end.

Prompt for Claude Code / Codex
You are an engineer cleaning up and speeding up my Android TV set through ADB.
I am not a programmer. Explain in plain words what you are doing and why. Run the
commands yourself — I do not want to paste anything into a terminal.

MY TV
- I know neither the make, nor the model, nor the address. Find the TV on my home network yourself.
- Developer mode and debugging are already enabled on the TV.
- The computer and the TV are connected to the same router.

WHAT ANNOYS ME (adjust this, delete what does not apply)
- The TV is slow, apps take 10 to 20 seconds to open.
- Ads and "recommendations" on the home screen.
- Preinstalled apps I never use.

HARD RULES — follow them literally

1. DO NOT UNINSTALL ANYTHING. Use only `pm disable-user --user 0 <package>`. The command
   `pm uninstall` is forbidden. Everything you disable, I must be able to bring back
   with a single command.

2. NO ROOT. Do not suggest bootloader unlocking, custom ROMs or Magisk. The TV stays on
   its factory firmware and keeps its warranty.

3. MEASURE FIRST, TOUCH SECOND. Before any change, save to files:
   - `adb shell cat /proc/meminfo` — how much memory is free and whether swap is full
   - `adb shell cat /proc/loadavg` — how loaded the processor is
   - `adb shell ps -A | wc -l` — how many processes are running
   - `adb shell pm list packages -e` — the list of all ENABLED packages (this is my safety net)
   - `adb shell getprop ro.build.version.release` and `ro.product.model`
   Name the files with the date. At the end, repeat the same measurements and give me
   a "before and after" table.

4. WORK IN BATCHES OF 8 TO 10 PACKAGES. After each batch, stop and let me check:
   does the remote still work, do the HDMI inputs switch, is there sound, does YouTube open?
   Only after my "ok" move on to the next batch.

5. KEEP A LOG. Write every disabled package into a file `disabled.txt` as:
   package — what it was — why it was disabled. At the end, build a ready rollback script
   out of that file.

6. IF SOMETHING BREAKS — immediately re-enable the last batch and tell me which package
   caused it.

NEVER DISABLE (verified on a live TV — otherwise you get a brick, or you lose functions
that are needed every day):
- Anything related to TV inputs and the tuner: HDMI, antenna, cable
  (on TCL these are com.tcl.tv, com.tcl.tvinput, com.tcl.suspension)
- Anything related to the remote and Bluetooth pairing
  (com.google.android.tv.remote.service, com.tcl.autopair, *_rcu_service, partnercustomizer,
  keycustomfunctionservice — the buttons on the remote will stop working)
- Google services: com.google.android.gms, com.google.android.gsf, com.android.vending
  (without them the account signs out and YouTube and Netflix stop updating)
- The on-screen keyboard: everything matching *.inputmethod.*
- com.android.location.fused — on some firmwares this causes an endless reboot loop
- Widevine and anything DRM related — otherwise Netflix and Prime show a black screen
- The system launcher — disable it only after another one is installed and verified

ORDER OF WORK

Phase 0. Find the TV yourself and connect.
Check whether ADB is installed, install it if needed (Windows: platform-tools,
macOS: brew install android-platform-tools, Linux: apt install adb).
Then look for the TV in this order, without asking me for an address:
  1. `adb devices` — the TV may have been connected from this computer before.
  2. Work out your subnet (ipconfig / ifconfig / ip a) and scan it for an open port 5555.
     This is the main route: TVs usually run classic ADB on 5555. An open 5555 is a candidate.
  3. Additionally `adb mdns services` — that is how devices with "wireless debugging"
     (Android 11+) announce themselves. TVs often do NOT show up there, so an empty answer
     here means nothing — rely on the scan from step 2.
  4. For each candidate: `adb connect <IP>:5555`, then
     `adb shell getprop ro.build.characteristics` — a TV has the word `tv` in the answer
     (for example `nosdcard,tv`). That is the most reliable marker, it keeps you from
     mistaking a phone or a tablet for the TV. Grab `ro.product.model` and
     `ro.product.brand` as well. If there are several TVs on the network, show me the list
     with models and ask which one is mine.
  5. Once found — tell me in plain words which TV it is and at which address, and remember
     the address so you do not have to search again.
On the first connection the TV will show "Allow debugging from this computer?" — warn me that
I have to press "Allow" with the remote and tick "Always allow". If you find nothing at all,
say so directly and ask me to check that debugging is on and that the TV is on the same
network as the computer.

Phase 1. Measure before. Do everything from rule 3 and tell me in human language:
how much memory is free, whether swap is full, how loaded the processor is.

Phase 2. Inventory.
Collect the installed packages and split them into four groups, show a table:
  A. Critical — do not touch (list above)
  B. Definitely junk — telemetry, analytics, ad shelves, demo content,
     preinstalled movie stores, duplicate assistants
  C. Apps I might actually use — ask me about each one
  D. Unclear — leave it enabled, but show it to me
For every package in B and C, write in plain English what it is. Not "com.tcl.bi",
but "com.tcl.bi — collects statistics about what you watch and sends it to TCL's servers".

Phase 3. Disabling. In batches per rule 4, starting with group B.

Phase 4. Autostart. Check which apps launch by themselves when the TV turns on and sit
in memory. Show me how much memory they eat, and disable autostart for the ones I never open.

Phase 5. Small things that speed up the interface:
   settings put global window_animation_scale 0.5
   settings put global transition_animation_scale 0.5
   settings put global animator_duration_scale 0.5
   pm trim-caches 999G

Phase 6. Reboot (`adb reboot`), wait, measure again.

Phase 7. Report. Give me:
   1. The "before and after" table: free memory, swap, processor load, process count
   2. The list of what was disabled, with understandable descriptions
   3. A ready rollback file — one script that turns everything back on
   4. An honest answer: what actually got faster and what stayed the same

WHAT I EXPECT FROM YOU ALONG THE WAY
- Do not dump walls of command output on me. Show me the result in plain language.
- If a command failed — say so directly, do not pretend it worked.
- If you are unsure whether I need a package — ask me, do not decide for me.

You do not have to look up the model or the address. A TV with debugging enabled announces itself on the home network and the agent finds it there; if it stays quiet, the agent walks the network and checks who has the right port open. Once found, it tells you in plain words which TV it is and where. Mine, for what it is worth, never reported its model at all: internally it just called itself "BeyondTV".

Safety net

What must never be disabled

This list is already built into the prompt, but it is worth knowing in case the agent suggests something it should not. Verified on a live TV.

CategoryWhat happens if you disable it
Tuner and inputs
com.tcl.tv, com.tcl.tvinput, com.tcl.suspension
HDMI, antenna and cable disappear. The TV stops being a TV.
Remote and pairing
com.google.android.tv.remote.service, com.tcl.autopair, partnercustomizer, keycustomfunctionservice
The remote's buttons stop working, including the colour and service keys.
Google services
com.google.android.gms, gsf, com.android.vending
The account signs out, YouTube and Netflix stop updating, the store throws errors.
Keyboard
anything with inputmethod
You lose the ability to type a Wi-Fi password or a login.
DRM / WidevineNetflix, Prime and Disney+ show a black screen instead of the film.
com.android.location.fusedOn some firmware versions the TV goes into an endless reboot loop.
System launcherYou are left with no home screen. Disable it only after another one is installed and verified.

For TCL owners

My ready list: 29 packages

If you also own a TCL running Android TV, this is exactly what is disabled on mine. The set has run for two weeks since without a single complaint. On other brands the names will differ, but the logic is the same: look for telemetry, ad shelves and preinstalled stores.

PackageWhat it is
com.tcl.biCollects viewing statistics and sends them to the manufacturer's servers
com.tcl.overseasappshowStorefront for "recommended" apps
com.tcl.waterfall.overseasRecommendation row on the home screen
com.tcl.messageboxPromotional notifications from the manufacturer
com.tcl.usercenterTCL account area
com.tcl.estickerStickers and banners over the interface
com.tcl.notereminderReminders nobody ever created
com.tcl.dashboardThe manufacturer's own dashboard
com.tcl.guardTCL "protection" duplicating the system's own
com.tcl.copydatatotvData transfer from a phone, needed once at purchase
com.tcl.initsetupFirst-time setup wizard
com.tcl.useragreementTerms of use screen
com.tcl.factory.viewService menu for retail
com.google.android.play.gamesPlay Games
com.google.android.videosGoogle Play Movies
tv.wuaki.apptvRakuten TV
com.amazon.amazonvideo.livingroomPrime Video
com.google.android.youtube.tvmusicYouTube Music
com.google.android.katnissGoogle voice search
com.google.android.tv.assistantGoogle Assistant for TV
com.tcl.micmanagerMicrophone service
com.tcl.smartalexaAlexa by TCL
com.tcl.assistantTCL's own assistant
com.google.android.marvin.talkbackSpoken interface feedback (needed by blind users — leave it on if you rely on it)
com.tcl.miracastScreen mirroring from a phone
com.tcl.MultiScreenInteraction_TVMulti-screen mode
com.google.android.tvlauncherStock home screen (only after another one is installed!)
com.google.android.tvrecommendationsRecommendation service for the home screen
com.tcl.tv.tclhome_passiveBackground service of the TCL home screen

On top of that, com.netflix.ninja and com.google.android.backdrop are disabled on mine — a personal call: nobody here watches Netflix, and we replaced the stock screensaver with our own. You probably want to keep both.

From experience

Traps I walked into

No guide mentions these, because they only show up on a real TV.

The store loses your sign-in

After the cleanup, Play Store may start demanding that you sign in again. It is fixable — and the easy route is "Another way → confirm on your phone", because typing a password with a remote is torture.

Icons of disabled apps stay put

The launcher caches the list and keeps showing what is no longer there. Nothing to worry about: ask the agent to clear the launcher's cache and they vanish.

Disable the launcher last

Kill the stock home screen before installing a new one and you are left with no interface at all. The order is strict: install the new one → check the Home button → only then disable the old one.

Fast boot was not the culprit

I assumed the "fast start" setting had been switched off. We checked — it had been on the whole time. What made it slow was the full memory, not the boot mode.

The way back

How to undo everything

This is the main reason the prompt forbids deleting: every disable is undone with a single command. At the end of the job the agent hands you a ready rollback file — keep it.

Bring one package back

adb shell pm enable com.name.of.package

Restore the animations

adb shell settings put global window_animation_scale 1.0
adb shell settings put global transition_animation_scale 1.0
adb shell settings put global animator_duration_scale 1.0

The emergency exit: a factory reset (Settings → Device → Reset) brings absolutely everything back. Nothing described here survives a reset, which means you cannot break the TV irreversibly this way.

Beyond that

What I did on top of the cleanup

Cleaning is half the job. Here are three more things that made the TV genuinely mine.

A light home screen instead of the stock one

The stock Android TV launcher is a storefront: a row of ads, a row of "continue watching", artwork loading on every power-on. I installed FLauncher — free, ad-free, showing exactly the apps you picked. Other lightweight launchers exist; the idea is the same.

While at it, I renamed the TV: instead of the factory name it now carries its own, visible in the device list and when casting from a phone.

A screensaver made of family photos

The idea was not mine: the agent suggested replacing Google's landscapes with family pictures and asked where they were kept. It then picked a hundred shots from my family photo folder, pushed them to the TV in one batch and set up the slideshow. Now the idle TV shows us instead of stock mountains.

Parental control, which Android TV does not have

Here it has to be said plainly: Android TV has neither a shutdown timer nor a password on individual apps. We went through the stock settings and the store — paid apps want a subscription, the free ones cannot do anything.

The answer turned out to be in the router, not the TV. Home routers offer access profiles for individual devices: create a profile with a schedule, assign it to the TV alone, and outside that window it simply has no internet. The TV still works: HDMI, set-top box and antenna stay. The only thing that disappears is the reason a child turns it on.

Mine is a FRITZ!Box, the most common router in Germany: Internet → Filters → Parental Controls → create a profile with a schedule → on the profile's tab add the TV and nothing else. On other brands the section is called "Parental controls" or "Access control" and works the same way.

It is also worth turning on "Restricted Mode" inside YouTube itself — it lives in the app's settings on the TV and filters what gets suggested.

Questions

The short answers

Is this safe? Will the TV turn into a brick?

Nothing is deleted, only disabled, and every disable is undone with one command. No root is needed, the firmware is untouched, the warranty stands. In the worst case a factory reset fixes it and the TV is back to how it left the box.

Mine is a Samsung or an LG, not a TCL. Does this apply?

If the TV runs Android TV or Google TV — yes, the prompt applies and only the package list differs. Samsung runs Tizen and LG runs webOS, and this method does not reach them. The test is simple: if the TV has Google Play on it, it is Android.

Why an AI? Can't I just run the commands from a list?

You can, if you own exactly the same TV. On any other one the package list is different, and you would have to work out by hand what each of two hundred names means. That is precisely what the agent does: it reads the list, explains in plain English what is what, and disables in batches with checks in between.

Claude Code or Codex — which is better?

For this job there is no difference; the prompt is written for both. Use whichever you already have access to.

Should I switch debugging off afterwards?

Yes, you should. While it is on, any device on your home network can connect to the TV. Once you are done, turn it off in the same place: Settings → System → Developer options → USB debugging.

What does it cost?

The cleanup itself is free. All you need is access to Claude Code or Codex, if you do not have it already.

Did it work?

Tell me what your before-and-after numbers looked like — I am collecting figures across models into one table so the next person has it easier.