我家二楼客厅那台小米电视是2017年的机型,55英寸。每次开机先放十几秒开机广告,平时用着用着还会冷不丁弹一条「猜你喜欢」。
这两天在GitHub上偶然刷到了一个叫cleanyourtv的开源项目,专门用来给智能电视去广告。虽然很多年不怎么看电视了,过年过节与家人团聚还是要看一下的,烦广告久矣,就拿来练练手。
先说结果:开机广告、弹窗推送广告、第三方广告SDK、行为埋点,这四类全清干净了。首页上的大图推荐位和促销卡片没动,那是系统桌面自带的推荐流,不换第三方桌面就动不了。
整个过程我没写一行代码,也没装专门的去广告插件,核心思路就是用系统卸载命令把承载广告的预装应用摘掉,来源自然就断了。
而我实际做的,其实就只是开头丢过去的那条提示词——“帮我安装cleanyourtv(https://github.com/Gathin23/cleanyourtv),然后引导我清理家里的小米电视广告。”

最终效果是清爽的
我给它的指令很简单,核心就是那个仓库地址。它接手后先去读了README,判断出这是一个纯Python实现的ADB客户端,设计思路很直接,通过ADB连接电视,把负责广告、埋点、推送的包逐个禁用。
装环境时踩了个坑。仓库依赖的adb-shell是个只有setup.py、没有pyproject.toml的老式源码包,pip解包时报EEXIST,重试、换源、升级pip都没用。它最终判断这是pip对老式源码包二次解包的已知问题,改成手动下载解压后从本地目录安装,绕了过去。
这个判断在文档里找不到,是它自己做出的。
第一个障碍是连不上。
它先做了一轮诊断,ping通了,但5555端口拒绝连接,结论是电视端的调试开关没打开。然后给我指路,先在「关于」里对着「产品型号」连点三下进入开发者模式;但端口依然不监听;真正管用的是「账号与安全」里的「ADB调试」开关,设成允许后端口才通。



连上之后电视弹出了授权对话框。它截屏拿到画面,用模拟点击按下了「允许」。从这一步起,遥控器就不需要了。
这一步我动手,它判断。
接下来它撞上了第一面硬墙。
项目里准备了24份针对不同小米型号的禁用清单,它挑了一份最接近的来跑,结果每一行都返回SecurityException。换pm hide命令,同样被拒。
它自己查清了原因,这台机器的固件把pm disable-user和pm hide的权限都收走了,shell用户无权修改任何应用的启用状态。
这个项目里所有小米相关的方案,在我这台机器上都行不通,卡在固件层面,跟操作没关系。
我以为它到这里会告诉我做不了。
它没有。
禁用不行,它换成卸载。但卸载系统应用有个很现实的风险,装不回来怎么办。
它没直接动目标,先挑了个最无害的对象做实验,就是系统自带的闹钟。pm uninstall --user 0的含义是只对当前用户卸载,应用数据和更新被清掉,但系统分区里的原始安装包还留着。
闹钟卸掉了。它随即从系统分区找到原始APK重新安装,验证能不能装回来。
命令挂住了,没有任何输出。
它截屏一看,电视上正停着一个「是否安装此应用」的确认框,在等人点确定。于是它算了一下按钮在画面上的坐标,发了一次模拟点击。几秒后对话框关闭,闹钟装回来了。
一条完整的可逆路径就这么跑通了,能卸,能装回,不用碰遥控器。
动真目标之前,它先把电视的状态完整备份了一遍,系统属性、已装应用、各项设置、系统分区里所有预装APK的路径,全部存成本地文件。然后才开始动手。
它一共卸了四个包,负责弹窗广告的推送服务、两个埋点和遥测的采集组件,还有广告SDK。
卸完后它按Home回到桌面,截屏确认界面正常。接着做了一件我没要求的事,重启电视,验证卸载是否持久。重启后四个包仍然是卸载状态,首页、顶栏、频道全部正常,没有崩溃。
它还顺带发现,这台电视的ADB调试开关在重启后会自动复位为关闭,调试端口不会长期暴露在局域网里。
最后它写了一个一键恢复脚本,把所有原始APK路径记在里面。写完后又自己复查了一遍,发现脚本里有个bug,用APK文件名去匹配包名,永远匹配不上,会误报恢复失败。它把这个也改了。
换成我自己来,得先翻十几个帖子搞清楚调试开关藏在哪,再一个个试命令,每次失败还要跑到电视前面看画面。一个晚上能搞定算快的。
但真正让我改变看法的,不是省下的这几个晚上。当它发现项目的核心功能在我机器上完全不可用时,它没跟我说做不了,自己换了条路。禁用被堵死就试卸载,卸载有风险就先拿无关紧要的应用验证可逆,装回时被确认框卡住,就截屏算坐标、模拟点击。这几步没有一步写在文档里。
回头看,我那句指令其实很粗。「清掉电视广告」几个字里,藏着好几件不同的事,开机那十几秒的视频、用着用着弹出来的推送、首页上的推荐位。管它们的组件不一样,能用的手段也不一样。
也正因为说得粗,我才看到它在信息不足时是怎么自己补判断的,先诊断,再选代价最小的对象验证可逆性,确认安全之后才动真目标。
AI最值钱的地方,是当已知方案全部失效时,它还能自己找到一条没人写过的路。
#智能电视去广告 #开源工具 #AI协作 #案例复盘
如果你觉得今天这篇有收获,欢迎点赞、在看、转发三连,我们下篇见
