又一个适合国产电视体质的牛皮癣去除工具:Aerial

前两天,我们介绍了国外老哥的开源电视清理项目 CleanYourTV,最近,国内也出现了一些电视的桌面清理工具,更适合中国宝宝体质。

像小米澎湃 OS、TCL、酷开、海信等近几年的国行电视固件,不仅把默认桌面锁死在自家系统应用上,小米待机时还会强制清理所有第三方后台进程,TCL 则直接拦截了通过 ADB 安装桌面类应用的操作。

这就导致很多海外开源的轻量桌面装进国行电视后,只要按一下遥控器主页键或者关机待机一次,画面又会退回满屏剧集推荐和会员弹窗的原厂瀑布流。

10 月 20 日,国内开发者 pengchujin 在 GitHub 上开源了一个专门针对国产电视设计的桌面项目「Aerial」(项目地址:https://github.com/pengchujin/aerial-tv,官网:https://aerial.qust.me)。

它参照 Apple TV(tvOS 26)的视觉风格重写了一套没有广告和推荐流的电视桌面,并在不获取 Root 权限、不停用任何系统应用的前提下,解决了国产电视锁死主页键、待机杀后台和拦截安装的几个核心难题。

还把漂亮的 Apple TV 自带的航拍屏保给搬过来了,简直赏心悦目。

项目上线三天已经拿到 3300 多个 Star,并以每天迭代多个小版本的速度更新到了 1.36 版。

小米自带瀑布流桌面与换上 Aerial 后的主屏幕对比

▲ 小米自带瀑布流桌面与换上 Aerial 后的主屏幕对比

Part 1

不 Root、不停用系统应用

很多早期的去广告教程会教大家用 ADB 停用或卸载电视自带的原厂桌面(例如小米的 com.mitv.tvhome)。

这种做法在新固件上风险很高,因为小米等系统在底层校验桌面签名,一旦停用原厂桌面,系统找不到合法入口就会直接卡死在黑屏的 FallbackHome 界面。

Aerial 采取的策略是不删、不停用任何系统组件,让原厂桌面作为一个普通图标留在应用列表里,随时可以点开看原本的影视内容,再通过三层机制实现开机自动接管与常驻:

1. 无障碍服务接管主页键:针对锁死默认主页的固件,Aerial 开启一个名为「桌面守护(HomeGuardService)」的无障碍服务,只监听当前前台窗口的包名变化而不读取屏幕内容,一旦检测到原厂桌面露头或按下主页键,就在约 0.5 秒内切回 Aerial。

2. 待机强杀后的双路自动复活:小米电视在按电源键待机时会调用系统接口强停所有第三方应用,Aerial 借用了安卓系统的「通知监听服务(RevivalListener)」绑定机制,进程被杀后约 0.5 秒就会被系统重新拉起,并自动用 WRITE_SECURE_SETTINGS 权限恢复桌面守护与被系统关闭的 ADB 调试开关;遇到不支持通知监听的 Android 9 低内存老机型(如小米电视 4A 等 MFTP0 平台),则会退回系统设置同步适配器(RevivalSync),在 30 到 60 秒内由系统任务调度器重新拉起。

3. 绕过 TCL 安装校验与自启拦截:TCL 国行固件不仅拒绝 adb install 命令,还会拦截任何声明了桌面属性(CATEGORY_HOME)的安装包,Aerial 为此单独编译了不声明桌面属性的 guard 版本,并通过逆向 TCL 电视内置「多屏互动」的 6553 端口协议将安装包推送进电视,再用 appops 放行 TCL 私有的开机自启权限(APP_AUTO_START)。

此外,守护服务在开机、亮屏或复活时会先等待 1.5 秒再判断前台状态。

如果此时电视已经通过 HDMI-CEC 或自带设置自动切到了外接机顶盒与游戏机,Aerial 会主动让路,不会把正在播放的信号源画面拉回桌面。

Part 2

针对国内电视应用与遥控器做的交互细节

在界面交互上,Aerial 用 Kotlin 和 Jetpack Compose 从头自绘了一套 960×540dp 的缩放画布,保证在不同 DPI 的 1080p 与 4K 电视上排版完全一致,最低兼容到 Android 5.0。

考虑到电视芯片的 GPU 填充率普遍偏弱,项目把毛玻璃底板(Liquid Glass)、壁纸压暗层和连续曲率圆角全部放到 CPU 上预先烘焙成位图,空闲时保持零帧重绘,在小米电视上滚动导航的帧耗时控制在 8 到 18 毫秒之间。

日常使用中比较顺手的设计主要有以下几处:

1. 高对比度焦点框与毛玻璃底板:常用的一排应用放在屏幕下方的半透明玻璃底板上,因为国内电视遥控器大多是传统方向键,没有 Apple TV 遥控器的触摸微倾反馈,选中图标时除了放大 1.15 倍,默认还会加上一圈 3dp 的高对比度白色描边,坐在沙发上也能看清焦点位置。

第一排毛玻璃底板与选中应用时的白色高对比度描边

▲ 第一排毛玻璃底板与选中应用时的白色高对比度描边

2. 杂乱图标自动重绘与隐藏系统应用提取:国内电视软件的图标规格很乱,有的只有手机端方图标,有的横幅上塞满了促销文字;Aerial 内置了一套六级磁贴生成规则(TileArt 与 TileRecipes),会自动提取品牌主色生成斜向渐变底板并居中放置白色或原色图标,同时把小米系统里默认不显示在第三方桌面的「应用中心」「米家」「高清播放器」单独捞出来,支持长按确认键建文件夹收纳。

向下滚动后的应用网格,图标经过统一重绘,底部可将系统应用收进文件夹

▲ 向下滚动后的应用网格,图标经过统一重绘,底部可将系统应用收进文件夹

打开「系统应用」文件夹,内置的小米应用中心与米家均可正常启动

▲ 打开「系统应用」文件夹,内置的小米应用中心与米家均可正常启动

在应用磁贴上长按确认键或按菜单键,可移动位置、移入文件夹、隐藏或卸载

▲ 在应用磁贴上长按确认键或按菜单键,可移动位置、移入文件夹、隐藏或卸载

3. 控制中心与外接设备专属信号源磁贴:在第一排按上键进入右上角控制中心,可以直接切换信号源、调节音量与背光亮度,或者把常用的 HDMI 接口固定到主屏幕上;在主屏幕长按 HDMI 磁贴,还能把图标换成 Apple TV、PlayStation、Nintendo Switch、Xbox、电脑或回音壁的对应样式,并支持设为开机自动打开该信号源。

右上角呼出的控制中心,集成信号源、网络、设置、音量亮度滑块与桌面守护状态

▲ 右上角呼出的控制中心,集成信号源、网络、设置、音量亮度滑块与桌面守护状态

4. 114 段 Apple TV 航拍屏保与动态壁纸:项目整理了 Apple TV 的 114 段实景航拍视频源并内置了 Apple 根证书,会自动检测电视硬件解码能力,最高支持 4K SDR 与 4K 杜比视界(Profile 5)流媒体播放,左下角实时显示中英文拍摄地名;如果把壁纸也设为「航拍」,停留在主屏幕 10 秒不动,磁贴背后的壁纸就会直接开始播放航拍画面,按任意键则定格在当前帧并实时生成毛玻璃底板。

内置 114 段 Apple TV 实景航拍屏保,左下角标注中文地名,右上角显示时间

▲ 内置 114 段 Apple TV 实景航拍屏保,左下角标注中文地名,右上角显示时间

如果不使用视频屏保,也可以切换为照片轮播或带景深壁纸的大字号时钟屏保

▲ 如果不使用视频屏保,也可以切换为照片轮播或带景深壁纸的大字号时钟屏保

5. 手机扫码配置页面:打开「个性化」面板时,电视会在局域网 8790 端口启动一个带随机令牌的临时网页服务;用手机扫屏幕右侧的二维码,不用在电视上按遥控器打字,就能直接从手机相册批量传照片当壁纸、给任意应用更换自定义的 16:9 封面图、给 HDMI 接口重命名,或者手动指定天气所在的国内城市。

个性化面板:左侧选择必应每日精选或 14 张内置 Mac 风格壁纸,右侧提供手机扫码入口

▲ 个性化面板:左侧选择必应每日精选或 14 张内置 Mac 风格壁纸,右侧提供手机扫码入口

手机扫码打开的局域网配置页,可直接上传手机相册图片、更换应用磁贴封面与设置天气城市

▲ 手机扫码打开的局域网配置页,可直接上传手机相册图片、更换应用磁贴封面与设置天气城市

Part 3

主流国产电视实测情况与安装方法

根据仓库 docs/devices/ 目录下的实测笔记与社区反馈,目前各品牌国行电视的适配情况如下:

✦ 小米与红米电视(含澎湃 HyperOS TV 与旧版 PatchWall):支持直接安装 standard 版本,开机自启、主页键接管、待机唤醒复活、背光调节与 HDMI 信号源磁贴均正常工作;安装时建议加上 KEEP_ADB=1 参数,防止电视待机后自动关闭 ADB 调试。

✦ TCL 与部分雷鸟电视(如 MT5879 平台):需使用不声明桌面属性的 guard 版本,通过安装脚本调用「多屏互动」推送安装并放行自启权限后,主页键接管、断电重启自启和系统级屏保均可正常工作;但部分新款雷鸟机型(如搭载 MT9655 的鹤 6 Ultra / S595C Ultra)因固件仅开放无配对码入口的无线 TLS 调试且删去了无障碍设置页,目前只能作为普通应用手动打开。

✦ 索尼国行(BRAVIA)、创维酷开、康佳、极米投影仪与腾讯极光盒子:均已验证可正常安装并接管主页键;其中创维部分 Android 13 机型在安装前需先用命令临时关闭 verifier_verify_adb_installs 校验,极米 Z7X 等隐藏了开发者选项的投影仪需先借助专用工具开启 5555 端口。

✦ 海信与 Vidda 电视:通过脚本修改 persist.vt.use_home_pkg 属性后,按遥控器主页键可直接进入 Aerial,但由于海信固件在开机完成前拦截了所有第三方服务,每次冷启动开机仍会先进入原厂聚好看桌面,按一下主页键才会切回 Aerial。

✦ OPPO 电视(ColorOS TV):固件白名单仅允许三个特定包名的应用作为桌面,需要将工程包名改为 com.oneplus.tv.launcher2 并补齐 MODERN_HOME 标签重新编译后才能实现开机直达。

第一步:打开电视的 ADB 调试开关

确保电脑和电视连在同一个局域网下,在电视的网络设置里记下局域网 IP 地址,并按品牌打开调试开关:

✦ 小米 / Redmi:进入「设置 → 关于」,在「产品型号」上连续按确认键直到提示进入开发者模式,再返回「设置 → 账号与安全」,将「ADB 调试」和「安装未知来源的应用」设为开启。

✦ TCL / 雷鸟:进入「设置 → 关于 → 本机信息」,用遥控器快速依次按「上、下、左、右」,页面底部会刷新出隐藏的「更多」选项,点进去打开「ADB」(注意刷新后焦点默认停在「商场模式」上,不要直接按确认键)。

✦ 海尔 / 模卡:按下电视机身上的实体信号源键呼出菜单,再用遥控器依次按「左、左、上、右」进入工厂菜单,只把「ADB 调试开关」改为开启,不要改动其他选项。

✦ OPPO 电视:进入「设置 → 系统 → 关于本机 → 设备型号」,用遥控器依次按「上、上、右、右」再按确认键解锁开发者选项,随后打开「USB 调试」。

✦ 索尼、海信及其他原生 Android TV:进入「设置 → 设备偏好设置 → 关于」,在「内部版本号(Build)」上连续按 7 次确认键,返回开发者选项打开「USB 调试」。

第二步(AI):让你的 AI 自动完成安装与真机验收

项目专门编写了一份面向 AI 的安装与验收规范文档(https://aerial.qust.me/agent.md)。

如果你的电脑上装有 Claude Code、Codex 或 WorkBuddy,直接把下面这段提示词里的电视 IP 改成你自己的发给 AI 即可:

请帮我把开源电视桌面 Aerial 装到我的电视上,并设为开机进入的桌面。
电视 IP:192.168.1.20
保持 ADB 常开:要

安装说明在这里:https://aerial.qust.me/agent.md
(打不开时用 https://raw.githubusercontent.com/pengchujin/aerial-tv/main/site/agent.md )

请先完整读完安装说明再动手,然后在我的电脑上亲自运行命令,不要只把步骤告诉我。需要我在电视上操作时提醒我。
最后按说明里的「验收」,把那几条命令的原始输出贴给我。

发送后,你的 AI 会自动检测电脑上的 adb 环境、连接电视、判断机型应该装 standard 还是走 TCL 多屏互动推送 guard 版本,并依次写入无障碍守护、通知监听复活与预编译优化(cmd package compile -m speed)。

过程中你只需要在电视首次弹出「是否允许 USB 调试」时勾选「始终允许」(TCL 电视则在右上角弹出多屏互动提示时按右键选「同意」),最后检查 AI 贴出的验收结果里 mCurrentFocus 是否包含 app.orchard.tv 即可。

第二步(人工):命令行一键安装、升级与还原

如果不使用 AI,在 macOS 或 Linux 终端里也可以直接运行官方的一行脚本(电脑没装 adb 时脚本会自动下载):

curl -fsSL https://aerial.qust.me/install.sh | KEEP_ADB=1 TV=192.168.1.20 bash

如果终端提示固件拒绝安装桌面类应用,在命令末尾加上 -s guard 重新运行即可。

从 1.32 版本开始,后续有新版本发布时,电视右上角的控制中心里会直接出现「有新版本」按钮,点进去选择「下载并安装」就能在电视上直接完成覆盖升级,原有的图标排序和壁纸设置都会保留。

如果之后想换回电视自带的原厂桌面,运行下面这行命令就会撤销所有权限与无障碍设置,恢复电视原本的状态(末尾加上 –uninstall 则会顺便卸载 Aerial):

curl -fsSL https://aerial.qust.me/install.sh | TV=192.168.1.20 bash -s restore

Part 4

目前尚存的客观局限与开源协议

在实际使用中,受限于国内电视固件的底层机制,有几个客观边界需要提前了解:

1. 开机广告无法去除:国产电视的 15 秒开机广告是在安卓系统启动早期由固件底层播放的,此时包括 Aerial 在内的任何应用进程都还没有启动,想要去掉开机广告仍需配合 ADB 停用厂商广告服务(如停用创维的 com.tianci.ad 或 TCL 的 com.tcl.bootadservice),但切勿在小米电视上停用 com.mitv.tvhome。

2. 航拍视频依赖实时网络流:114 段航拍屏保直接从苹果官方服务器(sylvan.apple.com)流媒体播放,暂不支持离线预缓存,其中 4K 杜比视界档位码率约为 24 Mbps,如果家里无线网络较慢导致频繁跳段,可以在个性化设置里将画质手动改为 1080p。

3. 非安卓系统不支持:项目仅支持 Android 5.0 及以上的电视、投影仪与机顶盒,不支持 LG(webOS)、三星(Tizen)以及华为智慧屏。

4. 开源协议与诊断工具:Aerial 代码采用 MIT 协议开源,如果遇到未适配的电视型号,可以在电脑上运行只读诊断脚本 curl -fsSL https://aerial.qust.me/tools/report.sh | TV=192.168.1.20 bash(已自动隐去 IP、MAC 地址与已装软件列表),生成机型报告提交到仓库 Issues 中。

不得不说,现在有了 AI,折腾东西再也不麻烦了。无论是撸个软件,还是刷个机器,脏活累活全扔给 AI 就行。

折腾,从此变成了一种享受。

相关链接:

✦ GitHub 仓库:https://github.com/pengchujin/aerial-tv

✦ 项目官网:https://aerial.qust.me

✦ AI 自动安装与验收说明:https://aerial.qust.me/agent.md

✦ 各品牌国产电视实测与逆向笔记:https://github.com/pengchujin/aerial-tv/tree/main/docs/devices

By nanikun