清理你的 Android TV
无需 root100% 可撤销
如果电视变卡了,可以把那些你从来不用的出厂应用停用掉。下面是四步准备工作,以及交给 AI 智能体的提示词。不会卸载任何东西,每一步都能还原。Windows、Mac、Linux 都一样。
准备工作
-
打开开发者选项
在电视上进入设置 → 系统 → 关于,用遥控器的 OK 键在版本号那一行连按七次。
-
打开调试
设置 → 系统 → 开发者选项 → USB 调试。如果另有一个「无线调试」开关,也一并打开。
-
查到电视的 IP 地址
设置 → 网络和互联网 → 状态。记下以
192.168.开头的那串数字。你的电脑必须和电视在同一个网络里:同一个 Wi-Fi,或者同一个路由器。 -
打开 Claude Code 或 Codex,粘贴提示词
复制下面这段文字,把两处
填这里换成你电视的型号和 IP 地址,然后交给智能体。剩下的它来做:装好工具、连上电视、完成清理。每一步改动它都会用截图在电视上亲自检查,只有截图看不出来的才会停下来问你:声音、遥控器、你用的应用。
提示词
我想让你通过 ADB 清理我的 Android TV。目标是:去掉广告和推荐的横栏,停用我
从不使用的出厂应用,让电视更快一些。命令由你来执行,每一步改动都在电视上
亲自检查,并用平实的话告诉我你在做什么。
我的电视
- 品牌 / 型号: 填这里 (例如: TCL Smart TV Pro)
- 电视的 IP 地址: 填这里 (电视 > 设置 > 网络和互联网 > 状态)
- 「开发者选项」和「USB 调试 / 无线调试」都已经打开。我的电脑和电视在同一个
网络里。
规则 (请严格遵守)
1. 不要卸载任何东西。只使用 `pm disable-user --user 0`,这样一切都能用
`pm enable <包名>` 还原。禁止使用 `pm uninstall`。
2. 不要建议也不要尝试 root、解锁 bootloader 或刷第三方 ROM。那会把电视恢复
出厂设置,而且 Widevine 证书一旦从 L1 掉到 L3,Netflix 就只能放标清。这么
做没有任何好处。
3. 先备份、先测量。动任何东西之前,把这些保存到 `tv-debloat` 文件夹:
`pm list packages -f`、`pm list packages -d`、`getprop`、
`settings list global`、`settings list secure`、`settings list system`
和 `dumpsys meminfo`。马上建一个恢复脚本 (`restore.sh`,Windows 上用
`restore.ps1`),每停用一个包就立刻把它加进去。结束时重复内存测量,给我
一张前后对比表。
4. 在电视上亲自检查你的工作。每一批之后,用 `adb shell input keyevent`
按键 (主页、方向键、返回、信号源/输入),用
`adb exec-out screencap -p > screen.png` 截一张图来看:主界面出来了吗,
信号源菜单能打开吗,能切到 HDMI 吗,Netflix 和 YouTube 还能启动吗?看到
问题先修好再继续。如果直播电视或 HDMI 在屏幕上时截图是黑的,先按主页键。
只问我截图看不出来的东西:声音、遥控器上的按键、屏幕键盘。
5. 小批量,一次一条命令。每批最多停用 10 个包。每条 `pm` 命令都单独调用一次
shell:串在一起的命令可能在第一条之后悄悄停下。如果出了问题,先把最后一批
整个恢复回来,再一个一个地缩小范围。
6. 不管什么品牌,电视运行离不开的东西绝对不要停用:
- 电视应用,以及播放 HDMI 和天线/调谐器的输入服务
- 信号源/输入菜单 (品牌自己的「快捷面板」)
- 遥控器和蓝牙配对服务
- 屏幕键盘 (*.inputmethod.*)
- Play 商店和 Play 服务: com.android.vending、
com.google.android.gms、com.google.android.gsf
- com.android.location.fused:停用之后电视会陷入开机循环
- 当前的主界面,在新的装好并设为默认之前
包名常常看不出它是干什么的。停用一个你没把握的包之前,先用
`dumpsys package <包名>` 看看它的 activity 和服务。还是不清楚就问我。
比如 TCL 上已知的坑:
com.tcl.suspension -> 遥控器上的信号源/输入菜单。名字看着像
垃圾,但停用之后就切不到 HDMI 了。
com.tcl.ttvs -> 系统更新(网络 / USB)。名字看着像语音
朗读(TTS)服务,但停用之后,更新菜单里
的选项会毫无提示地失去响应。
com.tcl.tv, com.tcl.tvinput -> HDMI / 天线输入服务
com.tcl.providers.config,
com.tcl.initsetup -> 停用其中任何一个,Wi-Fi 就会断
com.google.android.tv.remote.service,
com.tcl.tcl_bt_rcu_service,
com.tcl.autopair -> 遥控器
7. 凡是取决于我的,动之前先问我。流媒体应用、语音助手、Chromecast、投屏和
系统更新服务:给我一张勾选清单,只停用我没勾的。
8. 留下记录。把你停用的每一个包写进 `tv-debloat` 文件夹里的 `disabled.txt`。
同一个文件夹里放一份 `DEBLOAT-LOG.md`,写清楚你做了什么、为什么这么做,
以及撤销每一项改动的确切命令。
按这个顺序来
a) 检查 `adb` 装了没有,没装就装上。看看我用的是哪个操作系统,选对应的做法:
Windows 上下载 Google 的 platform-tools 并加入 PATH,macOS 上用
`brew install android-platform-tools`,Linux 上用 `apt install adb`。然后
用 `adb connect <IP>:5555` 连接。电视上会弹出「允许从这台电脑调试吗?」,
告诉我一声,我来确认。Android 11 及以上,如果电视在「无线调试」界面要求
配对码,先用 `adb pair`。
- 在 macOS 上,如果端口是开着的,adb 却报「No route to host」,那是
macOS 的「本地网络」隐私设置在拦截。别去排查它:改用装在 venv 里的
Python 包 `adb-shell` 作为 ADB 客户端。
- 问我电视的 USB 口上接了什么。有些电视在 USB 调试打开时会切断这些口的
供电,USB 音箱或硬盘就不工作了。
b) 备份并测量 (规则 3)。
c) 找一份现成的清单:如果 github.com/Gathin23/cleanyourtv 的 `examples/`
里有我的型号或相近型号的文件夹,读它的 `debloat.txt` 和开头的说明,
拿来当起点。但我电视上的每个包仍要按规则 6 检查一遍。
d) 把这些包分进一张表格给我看:
(1) 遥测、广告追踪 (Samba TV、Alphonso、Anoki 这类 ACR) 和厂商的统计
分析;
(2) 厂商的广告和内容服务:推荐横栏、内容信息流、门店演示模式;
(3) 我大概用不上的后台服务:重复的投屏和分享服务、清理工具;
(4) 预装应用;
(5) 取决于我 (规则 7);
(6) 不能动的 (规则 6)。
得到我的同意后,从第 1 组和第 2 组开始。
e) 把动画速度减半:
settings put global window_animation_scale 0.5
settings put global transition_animation_scale 0.5
settings put global animator_duration_scale 0.5
f) 用 `pm trim-caches 999G` 清理缓存。
g) 重启电视,用截图检查一遍,再测一次。
换掉主界面
Google TV 自带的主界面满是广告和「为你推荐」的横栏。我想改用 FLauncher
(Play 商店里就有,免费、开源,只显示我的应用网格)。
- 先让我安装 FLauncher,并确认已经装好。
- 列出想当主界面的应用:
cmd package query-activities -a android.intent.action.MAIN -c android.intent.category.HOME
用 `cmd package set-home-activity` 把 FLauncher 设为默认,或者让我在电视
上选它。
- 在 Google TV 上,开机向导 (com.google.android.tungsten.setupwraith) 即使
在原主界面停用之后也可能把主界面抢回去。重启后检查一下,如果是这样,也把
它停用。
- 之后再停用原来的启动器:Google TV 上是
com.google.android.apps.tv.launcherx,Android TV 上是
com.google.android.tvlauncher。
- 重启电视,用截图确认主界面仍然是 FLauncher。
- 如果在 Android 14 上 `adb install` 卡住了,那是在等电视上的确认:把 APK
推到电视上,再从 shell 里用 `pm install -r` 安装。
做完之后给我
1. 内存的前后对比表。
2. 你停用过的包的清单,每一个配一句「这是干什么的」。
3. 恢复脚本,以及一条能把所有改动全部撤销的命令。
4. 提醒我:如果接在电视 USB 口上的东西不工作了,就把 USB 调试关掉。
这份提示词借鉴了 cleanyourtv 的经验,那里还有许多电视型号的现成清单。
四个提醒
看名字认不出来的包,不要停用
我的电视上停用 com.tcl.suspension 之后,遥控器的「信号源」键就废了,再也切不到 HDMI。原来那就是输入源选择菜单。在部分 TCL 机型上,com.tcl.providers.config 和 com.tcl.initsetup 也会同样断掉 Wi-Fi。
没装好新主界面之前,别停用旧的 先装 FLauncher 并设为默认,之后再停用旧启动器。顺序反了就是一片黑屏。
不要 root
解锁 bootloader 会把电视恢复出厂设置,而且 Widevine 一旦掉到 L3,Netflix 就只能放标清。这么做没有好处:disable-user 已经能做到 root 想做的事。
做完后关掉 USB 调试 有些电视在调试打开时会切断 USB 口的供电。如果 USB 音箱或硬盘不工作了,就到开发者选项里关掉「USB 调试」。
怎么还原
因为什么都没卸载,每一步都能还原。智能体会记录它停用过的包,所以只要对它说「把你停用的都恢复回来」就够了。
如果只想自己恢复某一个应用:
adb shell pm enable com.tcl.suspension