ARTICLE · 1319531
CleanYourTV:给安卓电视去广告换桌面的开源工具,只禁用不卸载,一条命令可还原
FIELD LOG
2026-10-21
CleanYourTV
给安卓电视去广告、换桌面的开源工具
MIT
不 ROOT
158 机型
一条命令可还原
约 4,200 字 · 阅读约 8 分钟
它不删任何东西,只用 pm disable-user 把厂商的广告服务、推荐位和遥测逐条禁掉,再装一个四百多 KB 的桌面顶上。这篇讲清它动了哪些包、为什么连 adb 命令都要自己重写,以及哪几类电视它根本搞不定。
分享一个开源的项目。
你花钱买回来的那块屏,开机第一眼要替别人播广告。
十几秒,全屏,有时候你按遥控器还跳不过去。等你终于进到自己的应用,那个心情已经不太对了。
更气人的是那个卸载按钮。
你看着满屏的推荐位、预装应用、厂商塞进来的各种服务,长按,菜单出来了,卸载是灰的。
想清干净,就得刷机。刷机是什么代价,用过安卓的都懂:找固件、对型号、赌运气,一个步骤错了就是一块砖。
所以大部分人选择忍着。
忍着开机广告,忍着满屏推荐,忍着遥控器按下去要等半秒才动。忍到这台电视的寿命结束,然后买下一台,接着忍。
说实话,这不太对劲。
CleanYourTV 走的是第三条路。
它只禁用,不卸载。
这句话听起来像退让,其实是整个项目最聪明的地方。它几乎所有的设计都围着这句话长。
01
PACKAGES
先看清楚它到底动了什么
安卓电视和安卓手机是同一套血缘。它有一个东西叫 ADB,中文叫安卓调试桥,本来是给开发者调试应用用的。
ADB 能干什么?
能远程执行这个系统里的命令。包括那条关键的命令,pm disable-user --user 0。
这一条的意思是:把某个应用,对当前这个用户禁用掉。
注意它没说删除。
APK 还好端端躺在系统分区里,数据也一个字节没动,只是你这个用户看不见它、它也起不来。想让它回来,一条 pm enable 就够了。
pm uninstall 是另一回事。
对普通应用它没什么,但对系统预装应用,卸载会碰到签名校验和一串依赖关系。这是公认的变砖高发入口,很多所谓「刷坏了」,其实是在这里出的问题。
CleanYourTV 把 pm uninstall 直接写进了禁止名单。它在提示词里的原话是:不要卸载任何东西,只用 pm disable-user,这样每一条改动都能用 pm enable 撤销。
那它到底禁什么?
它先把电视上所有包列一遍,然后分成三类摆给你看:哪些肯定是垃圾(用不上的流媒体、演示程序、屏保、语音助手、安装向导、遥测),哪些要看你自己用不用,哪些是碰都不能碰的。
THREE LISTS · 三类包
直接禁
用不上的流媒体、演示程序、屏保、语音助手、安装向导、遥测
看情况
你自己用不用,得看你的使用习惯
永不禁用
禁了开不了机的那几个,清单头部单独标出来
第三类才是真正值钱的部分。
com.android.location.fused 禁了会开机循环。*.inputmethod.* 禁了虚拟键盘就没了。承载 HDMI 和输入源切换的那个厂商 TV 应用禁了,遥控器上的「信号源」键直接失效——那个包的命名看起来完全像垃圾,但它不是。
这些不是它自己猜的。
它在仓库里给 158 款机型、52 个品牌各写了一份清单,每一份都是实际动手的那个人自己交上来的。清单头部标了「永不禁用」的那几条,就是这块屏的承重墙。
它只禁用,不卸载。
因为只有不删,才能真的收得回来。

只禁用,不卸载:面板被拧下来放进编号抽屉,墙上还留着空槽
02
LAUNCHER
那个四百多 KB 的桌面
去完广告,桌面还是那个满是推荐位的桌面。
所以它自己写了一个。
com.gathin.tvhome,约 429 KB,纯 Java,只用 AndroidX 的 RecyclerView,没有第三方框架。
429 KB 是个什么概念?微信里一张稍微大点的表情包都不止这个数。
为什么能这么小?
因为它把「不做」这件事做到了极致:没有模糊效果,没有视频背景,没有轮询,没有后台服务。
有一说一,这几条在任何一份产品需求文档里都是加分项,它全砍了。
有一个细节我印象很深。它的界面里是有「毛玻璃」的,半透明的那三个胶囊按钮,看着像用了系统的模糊效果。不是。那是 GlassView.java 里用线性渐变加一道高光描边手画出来的。
画出来的玻璃,跟真的模糊,在 1 GB 内存的机器上是两种命运。
它内部还有一组对照数字:原厂桌面跑起来占 40 到 58 MB,它占 22 到 26 MB。
429 KB
桌面安装包
40–58 MB
原厂桌面常驻
22–26 MB
它常驻
单位不同:安装包按压缩后算,常驻按运行内存算
功能上它该有的都有:dock 上四个位置你自己挑,顶部是大字号的当前应用名,三个胶囊按钮分别是输入源、网络状态和设置,还有一个会慢慢漂移的时钟屏保——漂移是为了防烧屏。

换完之后的桌面:右上三个胶囊是输入源、网络和设置,dock 上四个位置自己挑
主题可以换。改一个 config.json,配一张壁纸,推到电视上就生效,不用重新编译。

改一个 config.json、推一张壁纸就能换主题,界面还是那一套
它还有一个模块卡片机制,其它应用可以在桌面上要一块自己的位置。但默认是隐藏的,必须你本人点头它才显示。
其实就是:默认关掉,你自己开。
一个桌面工具最该克制的,就是别替用户做主。

会慢慢漂移的时钟屏保,漂移是为了防烧屏
它只禁用,不卸载。
桌面这种东西,改不动比改坏了强。
03
NUMBERS
装完之后,数字大概是什么样
坦率的讲,先说清口径:下面的数字全部来自社区里某一个具体的人的实测,一人一台机器,跑完当场或几小时内记录的。不是第三方评测,也别当成你的机器一定能有这个结果。
一台索尼 BRAVIA 4K,Android TV 10,禁了 42 个包,桌面换成第三方的,开机时间从 30 秒左右降到 10 秒以内。做这件事的人说自己全程没敲过一行命令,也没装过 Android SDK。
一台小米盒子,禁完之后可用内存从 770 MB 涨到 1.15 GB。
另一台小米的电视棒,从 290 MB 到 357 到 391 MB 之间浮动。这份记录更有意思的地方是——被禁掉的 29 个包,跨了三次重启还在禁用状态。
一台 2017 年的索尼,内存占用从 1,144 MB 降到 991 MB。
一台国行 TCL,可用内存 1.97 GB 到 2.24 GB。
COMMUNITY REPORTS
一人一台机
索尼 BRAVIA 4K · Android TV 10
开机 30 秒左右
10 秒以内
小米盒子
可用内存 770 MB
1.15 GB
小米电视棒
290 MB
357–391 MB
索尼 2017 款
内存占用 1,144 MB
991 MB
国行 TCL
可用内存 1.97 GB
2.24 GB
看出规律了吗?
收益跟原始内存强相关。
1 GB 的机器,砍掉那些常驻服务,等于把最紧的那块地方腾出来了,体感是「遥控器终于不卡了」。4 GB 的机器,省下的那点内存在日常使用里几乎感觉不到。
你想想看,同一套操作,一台机器是换了个手感,另一台机器几乎白做。
还有一条:重启之后改动还在吗?
在。因为它改的不是内存里的状态,是包在系统里的启用状态,这个东西是持久的。
有人专门验证过反向操作——把还原命令跑一遍,广告回来了,再装一遍,又干净了。
双向都能走通,这才叫可逆。
我跟你说,这一条比省下那几百兆内存重要得多。
它只禁用,不卸载。
可逆不是一句口号,是要能被执行出来的。

可逆的四步:先拍照、再动手、停一下、卷回去
04
PITFALLS
装之前必须知道的四类坑
第一类是网络。
它要求电脑和电视在同一个局域网。听起来很简单,实际踩的人最多。
有人的电脑插着网线,走的是 10 段;电视连 WiFi,是 192.168.31 段。两个压根不是一个网,ADB 一直超时,人以为是电视没授权,反复在电视上点「允许」,怎么点都没用。
判断办法很简单:先 ping 一下电视的 IP。ping 不通和授权失败,长得像,是完全两件事。
第二个更阴。
ping 通了,IP 也对,ADB 就是连不上。
原因是路由器开着「双频合一」,2.4G 和 5G 共用一个 WiFi 名字,但底下是两个子网。电脑连上去实际走 5G,电视只挂了 2.4G。
看着是同一个 WiFi,实际不通。
解决办法是进路由器后台把双频合一关掉,让两个频段分开成两个名字,电脑和电视连同一个后缀的。
这种坑最气人,因为表面上一切都对。
第三类是顺序。
如果先禁了原厂桌面,新的还没装上,你的 Home 键会落到一个工厂测试应用上。
所以它的构建脚本里有一道保护:装完新桌面,确认 Home 真的指过去了,才算成功。如果没落上去,脚本自己回滚。
它还留了一条备用命令,专门在出错时把原厂桌面先恢复回来。
顺序这件事,比清单重要。
第四类是承重包。
这个没法靠清单解决,只能靠人判断。
比如那台 Google TV,装完之后出现了崩溃循环,WiFi 每分钟掉一次。原因是一个叫 com.google.android.tungsten.setupwraith 的东西在抢 Home,每 200 毫秒崩一次。
又比如换完桌面搜索框打不了字。不是桌面坏了,是小米的固件把默认输入法指向了一个根本没装的百度输入法。
还有 TCL 那台,禁掉某个包之后遥控器的「信号源」键没反应了,HDMI 切不过去。那个包的名字看起来跟输入源毫无关系。

那条「信号源」键没坏——承载它的厂商包要是被禁了,这个下拉就再也拉不出来
这类问题的共同点是:它们不是坏了,是有人把不该拆的砖拆了。
好在这四条全都有解,而且解都不难。难的是一开始你得知道往哪儿看。
反正我觉得,提前知道这四条的人,已经比大多数人少走一半弯路了。
FOUR PITFALLS · 从上到下排查
网络不在同一个段
先 ping 电视 IP,不通和授权失败是两件事
双频合一藏了子网
关掉双频合一,让两个频段分开成两个名字
顺序反了
先装新桌面,确认 Home 指过去,再禁旧的
拆到承重包
清单头部标「永不禁用」的那几个,一个都别碰
它只禁用,不卸载。
真出了问题,能开回来的东西,才叫问题。

承重墙:多数闸可以拉,少数几个围起来贴了封条,拉了就塌
05
LIMITS
哪些电视它根本搞不定
先说最该说清楚的部分。
它只支持 Android TV 和 Google TV。
三星的 Tizen、LG 的 webOS、Roku,是另外三套完全不同的系统,这套办法在这些机器上一点都不适用。亚马逊 Fire TV 能享受到一半——去膨胀可以做,但 Fire OS 不让第三方桌面接管 Home,桌面换不了。
COMPATIBILITY · 能用到哪一步
全
Android TV / Google TV
去广告、换桌面、还原,全套都能走
半
亚马逊 Fire TV
去膨胀能做,桌面换不了,Home 归 Fire OS
无
Tizen / webOS / Roku
另外三套系统,这套办法一点都不适用
电视本身要 Android 8.0 以上。低于这个版本,那个桌面装不上去。
然后是最现实的一条。
有一部分国产机型,在固件层面就把第三方桌面锁死了。
小米有用户试过,开了 ADB,权限还是不够,系统不让替换桌面。雷鸟也一样。
TCL 的情况更细一点:它的安装程序会校验 apk,扫描里面的每一个 activity,发现这是个桌面应用就拒绝安装。想硬来只能上 root,但官方桌面一关,大概率就卡在开机 logo。
有意思的是,同一个帖子下面立刻有人反驳,说自己刚在 TCL 上搞完。
同一个品牌,不同的固件版本,结果不一样。
这件事你必须自己试,别人说行不行都不作数。查一下自己的型号和固件版本,看看仓库里有没有对应的清单,比看任何教程都靠谱。
这一步没有捷径,只能拿型号去对。
还有两条不那么致命但要知道的。
一是它官方不发预编译的 APK,桌面得自己编译,需要 JDK 17 和 Android SDK。这不是一条命令的事,第一次弄要花点时间。
二是大部分清单里都包含固件更新服务。禁了它,OTA 就不会再推,安全补丁也一起停了。
以及一条常识性的:弄完之后记得把 ADB 关掉。
网络 ADB 在 5555 端口上是明文的。有些固件的 ro.adb.secure 是 0,那种情况下,同一个局域网里的任何设备都能拿到这台电视的 shell。
用完关掉,这件事没有例外。
它只禁用,不卸载。
但开着的调试口,是它管不到的那部分。
06
BUSINESS
那为什么厂商非要这么干
写到这儿得聊点别的。因为如果只把这件事当成「一个开源项目干掉了广告」,就太小看它了。
电视这门生意,硬件不挣钱。
有一家做了很多年流媒体的公司,2025 年全年营收 47.4 亿美元,其中 87% 来自广告和分成。单算卖硬件,毛利率是负 14%——一年下来卖硬件毛亏八千多万美元。
87%
来自广告与分成
−14%
单算硬件毛利率
47.4 亿
2025 全年营收 · 美元
每卖你一台设备,它都在赔钱。
它图什么?
图你把这台设备搬进客厅,然后坐在沙发上盯着屏幕看。
这就好比一家饭馆白送你一桌菜,但它在屋里装了一整套监听设备,指望从你吃饭时的闲聊里把钱挣回来。
还有一个技术名词值得知道,叫 ACR,自动内容识别。
电视开着的时候,它会持续给屏幕画面生成指纹,往服务器回传。传的不只是电视里播的内容——你投屏的手机、插 HDMI 连上的笔记本,都在采集范围里。
最狠的一点是:拔了网线它也在本地照记不误,一联网立刻打包补传。
2025 年 12 月,德克萨斯州的总检察长把三星、LG、索尼、海信、TCL 一起告上了法庭,理由就是这套东西。三星和 LG 后来先后和解,答应以后弹窗告知,并且给用户一个关闭的选项。
所以你现在明白,为什么那些广告服务删不掉了。
它们不是功能,是收入。
而与此同时,另一件事也在发生。
亚马逊 2026 年 9 月底发布的新款电视棒,换成了自家系统,把侧载第三方应用的能力直接砍掉,卖点是「比上一代快 20% 到 40%」。
把预装的垃圾删干净本来就能变流畅,现在变成要换一个你什么都删不了的系统才能流畅。
Google 那边也在收口子:想装一个未经验证开发者的应用,要开开发者模式、重启、再等 24 小时。
唯一还留着的活口是 ADB——因为谷歌默认只有真正的开发者才会去用它。
而这类项目干的事,恰恰是把 ADB 从开发者手里,递给了普通用户。
它的位置就在这儿:不是跟厂商做技术对抗,是在一块正在合上的门里卡住最后那道缝。
它只禁用,不卸载。
厂商那边不会给你这个选项,这个选项只能自己找。
07
REVERSIBLE
可逆才是它真正的产品
我翻了它仓库里那些清单、脚本和提示词之后,最大的感受不是「能去广告」。
是这个项目把「撤销」当成了架构前提来设计。
你看它的动作顺序就明白了。
动手之前先做快照:完整的包列表、已经禁用的列表、所有系统属性、全部设置项,全部落成文件,同时生成一份还原脚本。
然后才开始动。
每禁一批,停一下,让你去试:遥控器还能用吗,HDMI 能切吗,Netflix 能打开吗,声音和键盘还在吗。
你确认没问题,才进下一批。
REVERSIBLE · 它跑起来的顺序
01
先拍快照
包列表、已禁用列表、系统属性、设置项,全部落成文件
02
再动手
每禁一条都能单独回滚,不是整包替换
03
停一下
让你去试遥控器、HDMI、Netflix、声音和键盘
04
卷回去
一条命令回放所有记录,回到动手之前
这四步听起来很笨。一个脚本三秒就能把四十个包全禁完,为什么要停下来等一个人去按遥控器?
因为它知道自己在动一个你看不见的系统。
所以它宁可慢。
这套设计的价值,在它出错的时候才看得出来。
固件 OTA 推下来,把之前禁掉的包又装回来了,桌面上多了一堆东西。它的做法是跑一个检查,比对你现在的状态和当初应用的那份清单,把差异补回去,这个检查还能挂定时任务每周跑一次。
想彻底回原厂?跑还原脚本,它回放之前记下的每一条记录:逐条 pm enable,把 Home 指回当初真正占用它的那个组件,动画缩放从 0.5 复位到 1.0。
一条命令,回到你动手之前的样子。
这是我认这个项目的原因。
不是因为它免费,也不是因为它不 root。
是因为它没有要求你相信它。
大部分「一键优化」工具的逻辑是:你相信我,我帮你弄好。弄坏了呢?弄坏了你重装系统。
它反过来:你不用信我,我把每一步都记下来,哪天不想玩了,你自己能退回去。
这中间差的是「谁承担后果」这件事。
一个把撤销权交到你手上的工具,和一个把撤销权留在自己手里的工具,看起来功能一样,实际是两种东西。
就这么简单。
行了,就聊到这儿。
最后丢个链接:
github.com/Gathin23/cleanyourtv
如果你家那台电视正好是 1 GB 内存、开机要等广告、遥控器按下去要愣一下,值得去翻一下它仓库里有没有你型号的清单。
翻完先别急着动手。
先去看看那份「永不禁用」的名单,再看看你那台机器的固件版本——这两件事看明白了,剩下的才轮得到脚本。
以上,既然看到这里了,如果觉得不错,随手点个赞、在看、转发三连吧,如果想第一时间收到推送,也可以给我个星标⭐~
— THE END —
👍 点个赞
👀 在看
↗ 转发
谢谢你看我的文章,我们,下次再见。















































































