
电视是自己掏钱买的,开机广告却像买一送一的赠品,还不能退。这几天有个开源项目 CleanYourTV 很火,专门干安卓电视去广告这件事:不 root、不卸载,整个过程交给 Claude Code 这类编程助手来跑,小米、TCL、索尼这些 Android TV / Google TV 都在它的名单里。我把仓库从头到尾翻了一遍,先说清楚:我没在自己家电视上实测,下面的步骤全部照项目的 README 和 PROMPT.md 整理,别人踩过的坑我也一并写上。
事情是怎么来的
10 月 17 日,Gathin(@gathint)发帖说他下午给爸妈的电视「vibe coding」了一把:那台电视在你点进 Netflix 之前,先给你放一条赞助广告。他把型号丢给 Claude Code,Claude Code 在 Wi-Fi 里找到电视,停掉一堆预装的东西,还顺手写了个长得很像 Apple TV 的新桌面。帖子一下就爆了,评论区全是人报自家电视型号,后来这些回复很多都变成了仓库里按型号整理的清单。说白了,就是让 agent 替你干 ADB 的脏活,把安卓电视去广告这件事办了。
这个仓库 10 月 19 日之前叫 tv-vibehack,旧链接现在会自动跳转过来。许可证是 MIT。
它到底干了什么
安卓电视和安卓手机一样有调试桥(ADB)。你在电视上允许一次电脑连接,剩下的就是标准的安卓工具。按 README 的说法,助手做三件事:先备份已装的包列表和设置;再用 pm disable-user 停用厂商的遥测、广告服务、内容推荐行和预装垃圾;最后装一个很小的新桌面(com.gathin.tvhome,约 300 KB),设成默认主页。
关键词是「停用」。不刷机、不 root、不卸载,所以才能一键改回去,这也是它能做到免 root 安卓电视去广告的原因。作者爸妈那台是小米 Mi TV 4A(Android TV 10),停掉的是二十来个预装包:小米的遥测、PatchWall 推荐行和推广、一个「电视管家」式的清理工具,还有不少谷歌自己的包,比如原厂桌面和谷歌推荐服务。所以网上说的「删了 25 个小米包」,其实不全是小米的。
全程走 Wi-Fi,5555 端口,不用插线。另外它不提供现成的 APK,新桌面要在你自己电脑上用一行脚本编译。有点麻烦,但我反而觉得这样更踏实。
你的电视能不能用
README 的原则很简单:跑 Android TV 或 Google TV 的都行。仓库里有 25 个品牌、66 台电视的实测清单,TCL 和小米各 14 台,索尼 9 台,飞利浦 4 台,海信 3 台,长虹 CHiQ、创维各 2 台,剩下的品牌各 1 台,里面也有 Chromecast with Google TV 和 NVIDIA Shield。

三星(Tizen)和 LG(webOS)不行,人家根本不是安卓。Fire TV 只能做「去臃肿」那一半,因为 Fire OS 不让第三方桌面接管主页;PROMPT.md 开头写得更直接,说在 Fire TV 上不能用。还有一些国行 TCL 干脆装不上任何第三方桌面,它们的清单文件头里都写明了。
国行小米、国行 TCL,要多看一眼
国行 TCL 是重灾区。以 55Q10G Pro 为例,它的清单开头就提醒:这台固件上没有「连按版本号 7 次」,开发者选项里也没有 ADB。要进 设置 → 关于本机 → 本机信息,然后按遥控器的 上、下、左、右,ADB 开关会出现在底部;往往要按两三遍才出来,按一遍没反应别急着怀疑路径错了。
更扎心的是后半段:这台装不上新桌面。任何声明了主页(HOME)的 APK 都会被厂商签名校验挡掉,报 INSTALL_FAILED_VERIFICATION_FAILURE,所以只能做去臃肿那一半。原厂桌面 com.tcl.cyberui 千万别停,它是唯一能响应主页的程序,停了就开机黑屏。另一台国行 TCL ak30a5 也拒绝第三方桌面;98C12L(Android 14)连配对码都拿不到,作者在 issue 里直说自己也还没找到办法。
国行小米的情况好一点。仓库里有一台 MiTV-ASTP1(CN 固件)的清单,能做,但没有任何谷歌套件,原厂桌面是 com.mitv.tvhome,安装时要写 STOCK_LAUNCHER=com.mitv.tvhome launcher/build-and-install.sh。清单还提到:每次重启网络 ADB(5555)都会关掉,要去 设置 → 账号与安全 → ADB 调试 重新打开(清单原文是英文菜单名,国行界面上的叫法可能略有出入)。
还有个绕不开的现实:国内用 Claude Code 本身就有门槛。README 写的是「Claude Code or similar」,也就是有 shell 权限的编程助手都行,但提示词是照 Claude Code 的习惯写的,换别的助手效果我没法打包票。
动手之前,先看风险
README 的问答里自己就问了一句「会不会变砖?」回答是:不刷机、不删东西,风险在于停掉了电视依赖的东西,所以清单要小批量执行、提前备好还原脚本。话是这么说,但这样安卓电视去广告并不是零风险,issue 区里已经有人踩过坑了。
一位索尼 KD-55X74K(Google TV)用户,新桌面装好能用,重启后卡在开机画面十多分钟,ADB 显示离线,最后只能恢复出厂(issue #62)。一台小米 TV A Pro 75 英寸 2026 款(也是 Google TV),停掉原厂桌面后系统进入崩溃循环,Wi-Fi 大约每分钟掉一次(issue #90)。作者道了歉,把安装脚本改成先启动新桌面、确认主页真的落在新桌面上,不对就自动回滚。
新款 Google TV 上最常见的元凶是开机向导(setupwraith):原厂桌面一停,它就跳出来抢主页。停用它又可能顺手删掉你开机设置时保存的 Wi-Fi,电视直接断网,ADB 也跟着断。README 里写了怎么先检查。再加上前面说的国行 TCL 停掉 com.tcl.cyberui 会开机黑屏,安卓电视去广告这事,真不是点几下就完的。

最后一条免责:MIT 许可证写的是「按原样提供,不提供任何担保」(AS IS, WITHOUT WARRANTY)。出了问题,搭进去的是你的晚上,不是作者的。家里要是有台旧电视,我建议先拿卧室那台练手,别一上来就动客厅的大屏。
安卓电视去广告:五步操作

下面是 README 给的安卓电视去广告顺序。只记得住一步的话,记第五步。
- 在电视上打开调试。设置 → 设备偏好设置 → 关于 → 在「版本号」(Build)上按 OK 七次 → 返回 → 开发者选项 → 打开 USB 调试。如果看到「网络调试」或「ADB 调试」开关,也一起打开。电视保持开机。国行 TCL 走上面说的 本机信息 + 上下左右 那条路。PROMPT.md 还提醒:有些盒子开着 USB 调试时会切断 USB 口供电,插在上面的音箱、硬盘会没反应,关掉调试才恢复。
- 准备电脑。电脑要和电视连同一个 Wi-Fi,装好 Claude Code 或类似的、有 shell 权限的编程助手。把仓库克隆下来(
git clone https://github.com/Gathin23/cleanyourtv),在这个目录里启动助手。编译新桌面需要 JDK 17 和 Android SDK platform 34;macOS 上是brew install openjdk@17 android-commandlinetools,再跑sdkmanager "platforms;android-34" "build-tools;34.0.0"。Windows 装了 Android Studio 就够了,每个脚本都有 PowerShell 版本。 - 把 PROMPT.md 贴给助手,填上电视的准确型号。告诉它仓库已经克隆好了,让它直接用
tools/和launcher/,不用从头写。 - 点允许,然后回答问题。电视上弹出「允许 USB 调试吗?」就点允许。接着它会问三四个勾选题:你平时用哪些 App、底栏放哪 4 个、语音助手、投屏(Chromecast)和系统更新要不要留。之后它会备份、小批量停用、编译并安装新桌面,每一步都从电视上截图核对。README 说有仓库当上下文,大约 15 分钟。
- 收尾,把门关上。电视上:开发者选项 → 关掉 USB 调试和网络/ADB 调试,并撤销 USB 调试授权。重启电视。然后在电脑上跑
nc -vz <电视IP> 5555,必须连不上才算完。网络 ADB 是明文的,在ro.adb.secure=0的固件上,同一个 Wi-Fi 里的任何设备都能拿到 shell。新桌面关了调试照样能用,没理由开着。
如果 5555 端口一直不通,电视可能只提供「无线调试」(Google TV 常见)。PROMPT.md 的办法是:到 开发者选项 › 无线调试 › 使用配对码配对设备 拿到配对码和端口,然后 adb pair、adb connect、adb tcpip 5555。另外,如果你用 Mac,adb connect 报「No route to host」,那是 macOS 的本地网络隐私权限在拦,不是电视的问题,仓库里纯 Python 写的 tools/tv.py 能绕开它。
想自己敲命令?
也可以不用助手,工具只要 Python 3。下面是 README 里的手动流程,拿作者那台小米 Mi TV 4A 的清单举例:
python3 -m venv tools/venv && tools/venv/bin/pip install -r tools/requirements.txt
export TV_HOST=192.168.1.50 # 换成你电视的 IP
tools/venv/bin/python -I tools/tv.py --probe # 查型号、安卓版本、固件
tools/disable.sh examples/xiaomi-mi-tv-4a/debloat.txt
TV_HOST=192.168.1.50 launcher/build-and-install.sh
把路径换成你自己型号的文件夹。跑之前一定先看那份 debloat.txt 的文件头,贡献者会把「这个别碰」和正确的还原命令写在那里。
怎么还原
安卓电视去广告之后要是后悔了,或者发现少了某个功能,就靠这一步回头。保留你当时用的那份清单。按 README 的还原说明,还原脚本会把清单里的包逐个重新启用、把原厂桌面设回主页、并把动画速度恢复:
TV_HOST=<电视IP> tools/restore.sh examples/<你的电视>/debloat.txt # Android TV
TV_HOST=<电视IP> tools/restore.sh examples/<你的电视>/debloat.txt com.google.android.apps.tv.launcherx # Google TV
国行机型要把最后那个参数换成自己的原厂桌面:国行 TCL 55Q10G Pro 是 com.tcl.cyberui,国行小米 MiTV-ASTP1 是 com.mitv.tvhome,清单文件头里的 Undo 一行写得清清楚楚。
还原脚本不会卸载新桌面(想删就去 设置 → 应用 里删),也不知道你在清单之外停用过的包。要是电脑压根连不上电视了,电视自己的 设置 → 应用 页面也能把包重新启用。Google TV 已经卡住的话,README 给的急救命令是 tools/tv.py 'pm enable --user 0 com.google.android.apps.tv.launcherx'。
固件更新:大多数清单会停用更新服务,所以只有你重新启用它,才会收到更新。真要是更新装上了,README 说最坏情况是某个包又回来了,再跑一遍脚本就行。
值不值得折腾
我的看法:如果开机广告、Netflix 前那条赞助广告让你很烦,电视又是 Android TV 或 Google TV,那大概值得。除了一个晚上和一点 AI 额度,不花钱。不过长时间跑 agent 很吃 Claude 的额度,快到上限的话,先看看我整理的 Claude / Codex 额度重置与封号追踪。跑到一半额度没了、调试还开着,那就太憋屈了。
如果你只是想让 App 里的广告少一点,README 还提到一个办法:安卓 9 及以上可以把「私人 DNS」指向 AdGuard DNS 这类拦广告的解析服务。但它挡不了 YouTube 广告,而且那家 DNS 会看到电视的所有域名查询。有得有失。
要是你玩上瘾了,Claude Code 的插件也是个坑,可以看看我写的 Claude Code Mods 推荐。
说到底,自己花钱买的电视,安卓电视去广告还得靠 AI 加一个调试端口,这事本身就挺荒诞的。那就这样吧:先备份,小批量来,做完记得关掉 5555。