一键清理 Android TV:去广告、垃圾应用禁用与换启动器的完整指南
【免费下载链接】cleanyourtvDebloat any Android or Google TV over Wi-Fi and get an Apple TV-style home.项目地址: https://gitcode.com/gh_mirrors/tv/cleanyourtv
cleanyourtv 是一个面向 Android TV 去广告与智能电视清理的开源项目:不 root、不刷机、不卸载任何应用,想反悔时一条命令就能还原。它通过 Wi-Fi 把电视里的预装垃圾应用和广告服务停掉,还能把广告满屏的厂商桌面换成干净的启动器,适合第一次动手的新手。
先把边界划清楚:不 root、不刷机、不卸载
项目对自己的官方概括就一句:No root, no cable, nothing uninstalled, one-line restore。翻译成白话:不 root,不接刷机线,一个应用都不卸载。所有操作从你的手机或电脑经 Wi-Fi 发出,唯一的写动作就是把某个应用标记为"对当前用户禁用"。
它做的事情很明确:停掉厂商遥测、广告服务、内容推荐行和预装垃圾应用,再用仓库自带的启动器替换桌面;它不碰系统分区,不删用户数据,也不存在"刷机"这个动作。适用对象同样明确:Android TV 与 Google TV 设备(小米、TCL、海信、索尼、OnePlus、Nvidia Shield 等机型),三星 Tizen、LG webOS 和 Fire TV 不在范围内。
pm disable-user 的工作原理:把应用停掉,而不是删掉它
cleanyourtv 的全部垃圾应用禁用动作都围绕一条 Android 命令(pm 是包管理器的命令行):
pm disable-user --user 0 com.mitv.tvhome.atv pm disable-user --user 0 com.xiaomi.statistic pm list packages -d前两行把两个包对 0 号用户(系统主用户)停用,第三行列出当前已禁用的包供核对。应用安装包(APK)完整留在系统分区里,只是不再启动,数据一个字节都不动,所以随时可以用pm enable放回来。
debloat.txt 清单一行一个包名,用注释分组:
# Xiaomi telemetry com.miui.tv.analytics com.xiaomi.statistic # Xiaomi background services com.xiaomi.mitv.updateservice # re-enable to check for firmware updates每行是一个包名,用途写在行尾注释里;想保留哪一项,把那一行注释掉就行。禁用脚本跑完后还会做一次回读校验,把没有真正停掉的包逐个列出来,固件拒绝执行时不会被静默放过。
一行命令还原:同一份清单既是改动记录也是还原钥匙
还原脚本的入参就是禁用时用的那份清单,因为清单本身就是全部改动的完整记录:动过哪些包,它都记着,你不需要回忆。运行后按顺序做四件事:逐条重新启用清单里的包;恢复厂商原生启动器(默认 com.google.android.tvlauncher,可用参数覆盖);用 set-home-activity(设置默认主屏的命令)把 Home 指回原生启动器;把窗口、转场、动画三处缩放参数重置回原值。
TV_HOST=192.168.1.50 tools/restore.sh examples/xiaomi-mi-tv-4a/debloat.txt把 TV_HOST 换成电视的 IP,这一行就是全部还原流程,参数就是当时禁用的那份 debloat.txt。
顺带一提一个版本坑:Android 9 上 set-home-activity 只认完整的组件名(包名/活动名),只写包名会失效。restore.sh 会先在电视上解析出真正的 Home 组件,再把结果拼进命令,老固件上 Home 键也能落回原处。
电视换启动器:先装新的验证通过,才动旧的,落错自动回滚
换桌面是多数人最犹豫的一步。launcher/build-and-install.sh 把执行顺序写死在注释里:先安装新启动器,手动把它启动,确认能正常跑之后再禁用厂商启动器,然后设置 Home,最后回查 Home 到底落在谁身上。查到的结果不是新启动器时,脚本立即把原生启动器重新启用并报错退出:
HOME_NOW=$(query_home) case "$HOME_NOW" in com.gathin.tvhome/*) echo "Home now resolves to $HOME_NOW" ;; *) rollback_home || true第一行回读当前 Home 归属,只要结果不是新启动器,rollback_home 就把原生启动器放回原位。顺序不能反,因为 Android 的 Home 归属有自己的优先级,先禁旧启动器时,按键可能落到某个设置向导应用上,屏幕就停在一个陌生界面里。⚠️ Google TV 上有个已知坑:设置向导组件 setupwraith 在旧启动器被禁后可能接管 Home 并循环崩溃。处理方式同样是可逆的——把这个包加进 debloat 清单,还原时会一并放回来。
动手前的三条习惯:先备份、小批量、个人服务先确认
cleanyourtv 把安全规则直接写进了 PROMPT.md 这份提示词,其中三条对亲手操作的人一样适用。
先备份再动手:把完整包列表、已禁用包列表、getprop 输出(系统属性信息)和全部系统设置存进备份目录,同时生成一份对应的还原脚本。这是第一步,不是收尾时才补的动作。
小批量禁用,每批之间截图看一眼:一口气禁太多可能连带停掉关键服务,分批做、每批核对截图,出问题能马上定位到是哪一条引起的。
涉及个人使用习惯的服务先问清楚:流媒体应用、语音助手、Chromecast、系统更新服务,这些可能正是你在用的东西。列成清单逐项确认,只停用确认不用的条目。
动手前自检:六个照做即可的判断点
✅ 打开电视之前,可以按顺序过一遍:
- 确认机型:必须是 Android TV 或 Google TV 设备,Tizen、webOS、Fire TV 先出局。
- 打开开发者选项:在"关于"页连点版本号 7 次,开启 USB 调试和网络调试,手机与电视同网。
- 存好清单:待禁用的包按行写入 debloat.txt,加注释,逐条能审。
- 分批执行:先禁一组,截图确认画面正常再继续下一组。
- 列出个人服务:哪些流媒体、语音助手、更新服务在用,把要留的写明。
- 记录现状:动手前记下当前 Home 归属与缩放参数,确认还原脚本随时可用。
每一步都留了记录,每条记录都有反向命令,折腾的最坏结果就从"变砖"降到了"少一项功能,启用即恢复"。这就是可逆设计的完整含义:不赌运气,只赌得回去。
想试的话,先克隆仓库(地址https://gitcode.com/gh_mirrors/tv/cleanyourtv),里面有完整的禁用、还原与启动器安装脚本,以及覆盖众多机型的 debloat 清单。
【免费下载链接】cleanyourtvDebloat any Android or Google TV over Wi-Fi and get an Apple TV-style home.项目地址: https://gitcode.com/gh_mirrors/tv/cleanyourtv
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考