软件

给红米电视去广告、换桌面:一次 CleanYourTV 实操记录

一句话摘要:用 adb 禁用 11 个广告和统计相关的包,再把小米桌面换成一个仿 Apple TV 风格的开源桌面,开机不再先看广告,全程可以回滚。

本文用到的都是标准的 adb 命令,不依赖任何特定的 AI 工具:你可以自己在电脑终端里逐条执行,也可以把这篇文章交给你常用的 AI 助手(比如豆包),让它照着步骤带你做。我这次是让 AI 助手代为执行的,但每一步改动前都由我自己确认。

⚠️ 先看风险 禁用小米桌面可能导致黑屏。社区里有人在部分系统版本上遇到过:桌面包名不对,或者新桌面没装好就禁用了原桌面,结果开机黑屏。 这台电视每次重启都会自动关掉 ADB,一旦黑屏就没办法从电脑远程恢复,只能恢复出厂设置。 我是在 OS3.0.107 上实测成功的,其他版本不保证。另有社区反馈,换桌面后待机指示灯会一直闪。 本文只是我个人的操作记录,照着做请自担风险。

我的环境

电视是红米电视,型号 MiTV-MFTR0,系统 OS3.0.107,底层 Android 14,没有谷歌服务。 电脑是一台 Mac,装好了 adb。

用到的工具是开源项目 CleanYourTV(v3.3.0)。它包含两部分:一套禁用广告包的脚本,和一个仿 Apple TV 风格的桌面。

第一步:打开电视的 ADB

在电视上进入「设置 → 账号与安全 → ADB 调试」,把它打开。

要记住的是,这台电视每次重启,ADB 都会自己关掉。后面换完桌面怎么重新打开,第八步会讲。

第二步:用 Mac 连上电视

adb connect 192.168.1.x

电视上会弹出是否允许调试的提示,选允许。然后确认设备在线:

adb devices -l

第三步:先备份,再动手

动任何东西之前,我先导出了这几样:系统应用列表、第三方应用列表、已禁用的应用列表、当前默认桌面,以及 settings。

然后根据列表生成了一个一键恢复脚本 restore.sh,里面是逐个 pm enable 的命令。万一哪里出了问题,跑一下就能把禁用的包全部恢复。

第四步:第一轮只禁用广告和统计

第一轮我只碰广告和数据统计类的包,一共 11 个:

com.miui.tv.analytics
com.xiaomi.tvqs
com.xiaomi.mitv.tvpush.tvpushservice
com.miui.hybrid.tv
com.xm.webcontent
com.duokan.videodaily
com.mitv.overseaservice
com.android.adservices.api
com.android.ext.adservices.api
com.android.ondevicepersonalization.services
com.android.federatedcompute.services

每个包用这条命令禁用:

adb shell pm disable-user --user 0 包名

禁用不是卸载,想恢复随时可以 pm enable。

下面这些我一个都没碰:小米设置、系统界面、开机向导、菜单键面板、输入法、蓝牙、信号源、播放器、账号、投屏、小爱、系统升级、应用商店。它们和电视的基本功能有关,禁掉容易出问题。

后面换桌面时重启了两次,禁用状态都还在,广告包没有复活。

第五步:编译并安装新桌面

据项目文档,这台电视的系统只认白名单包名,直接装项目自带包名的桌面可能会黑屏。我的做法是自己编译,把包名指定为 com.ts.launcher:

-PlauncherApplicationId=com.ts.launcher

编译环境是 JDK 17 加 Android SDK 34。编译好之后用 adb install 装到电视上。

安装时我没有给它改系统设置和定位的权限,桌面用不到这些。

装好后先用 am start 手动打开试一下。界面是这样的:左上角显示时间和日期,右上角是输入源、网络和设置,下面一排是已安装的应用。

换上后的新桌面

第六步:一个坑,设置默认桌面「看起来成功了」

我一开始想用这条命令把新桌面设成默认:

adb shell cmd package set-home-activity ...

命令返回了 Success,但实际上没生效。翻系统日志才发现,系统明确拒绝把第三方应用设为默认桌面。

表现出来的样子很迷惑:按 HOME 键会弹出选择桌面的窗口,不到半秒又自动选回了小米桌面,看上去像是「闪回」。

第七步:真正替换桌面

既然设不成默认,就把小米桌面禁用掉:

adb shell pm disable-user --user 0 com.mitv.tvhome

关键是这一步之后先不要重启。 先确认系统找桌面时只能找到新桌面:

adb shell cmd package resolve-activity --brief -a android.intent.action.MAIN -c android.intent.category.HOME

结果里只出现 com.ts.launcher,才可以重启:

adb reboot

我重启了两次,都是直接进新桌面,没有黑屏,广告包也没有复活。

第八步:重启后怎么重新打开 ADB

前面说过,重启后 ADB 会自动关掉。换了新桌面之后,打开方法变成这样:

在新桌面上长按右上角的设置按钮,选「原生设置」,再进「账号与安全 → ADB 调试」。

如果只是短按,打开的是安卓原生设置,里面找不到 ADB 开关。

第九步:怎么回滚

想换回小米桌面:

adb shell pm enable --user 0 com.mitv.tvhome
adb reboot

想卸载新桌面:

adb uninstall com.ts.launcher

想恢复所有被禁用的广告包,运行第三步备份时生成的 restore.sh。

  • 电视
  • adb