pengchujin/aerial-tv
给国产电视的一块干净桌面:参照 tvOS 设计的开源 Android TV 桌面,没有广告,开机自动接管。A tvOS-style launcher for Xiaomi, TCL and other China-market TVs.
About pengchujin/aerial-tv
pengchujin/aerial-tv is an open-source project on GitHub, mainly written in Kotlin. 给国产电视的一块干净桌面:参照 tvOS 设计的开源 Android TV 桌面,没有广告,开机自动接管。A tvOS-style launcher for Xiaomi, TCL and other China-market TVs. It currently holds 7,618 stars and 635 forks with 0 open issues, and was last pushed on an unknown date (repository created unknown).
Project Overview
Git Homed tracks it on the Today's Trending board.
GitHub Repository Details
README
Aerial
给国产电视的一块干净桌面。
参照 Apple TV 做的 Android TV 桌面:没有广告,没有推荐流,只有你的 App、壁纸和航拍屏保。
适合小米、TCL、创维、索尼等国产电视,也能装在盒子和投影仪上。开机自动进入,待机也不会被清理。
中文 · English
| 电视自带的桌面 | 换上 Aerial 之后 |
|:---:|:---:|
|
|
|
功能
- 首页:常用的一排 App 放在屏幕下方的玻璃底板上,往下是全部 App。小米「应用中心」「米家」这类藏起来的系统 App 也在。
- 整理:长按 OK 键(或按菜单键)可以移动、放进文件夹、隐藏、卸载,或者设成「开机时打开」(开机、待机醒来直接进这个 App 或信号源)。固定到主屏幕的 HDMI 可以选接的是 Apple TV、PlayStation、Switch、Xbox、电脑等,换成对应的图标,也能在手机上起名字。
- 用手机整理:扫电视上的二维码,手机上就是和电视一样的图标网格:按住拖动排序,点一下改名、换图标、放进文件夹或隐藏,也能把 HDMI 等信号源加到主屏幕。
- 控制中心:在第一排按上键到右上角打开,有信号源、网络、设置、音量、亮度和个性化。
- 屏保:Apple TV 的 114 段航拍影片,电视支持时播 4K 或 4K 杜比视界,也可以换成照片、时钟或从手机添加的本地视频(说明)。
- 壁纸:必应每日精选、14 张内置壁纸、用手机扫码传的照片和视频,或者航拍:停在主屏幕 10 秒后在磁贴后面播放,按任意键停在当前画面。
- 个性化:每排 4、5 或 6 个 App,单排或双排、时钟大小和位置、App 名称、焦点样式、按键声音,都能改。
安装
不用 root,不动系统应用,随时能还原。电脑和电视连同一个网络。
1. 打开电视的 ADB 调试
| 电视 | 怎么打开 | |---|---| | 小米 / Redmi | 设置 → 关于 → 连续按「产品型号/产品类型」进入开发者模式,再到 设置 → 账号与安全,打开「ADB 调试」和「安装未知来源的应用」 | | TCL / 雷鸟 | 设置 → 关于 → 本机信息,快速按遥控器「上下左右」,在底部的「更多」里打开 ADB | | 海尔 / 模卡 | 按电视机身上的信号源键,再用遥控器按「左左上右」,在工厂菜单里打开「ADB 调试开关」,别动其他选项 | | OPPO(含 S1) | 设置 → 系统 → 关于本机 → 设备型号,按「上上右右」再按确认;再到 设置 → 系统 → 开发者选项,打开「USB 调试」。IP 在 设置 → 网络 → 已连接的网络 最下面 | | 其他 Android TV | 设置 → 设备偏好设置 → 关于 → 连按「内部版本号」7 次,再在开发者选项里打开「USB 调试」 |
电视的 IP 在「设置 → 网络 → 已连接的网络」里。第一次连接时,有 USB 调试开关的电视会问是否允许调试,选「始终允许」;只有无线调试的电视不弹这个窗,见下一段。
只有无线调试、没有 USB 调试 / 网络调试(ADB 调试)开关的 Android 11+ 电视,第一次要先配对(例如索尼 BRAVIA 的 Android 14,#747):这类电视不提供旧的明文端口,不能直接 adb connect :5555。在电视上打开 设置 → 系统 → 开发者选项 → 无线调试 → 使用配对码配对设备,把配对码屏幕上的 IP:端口和 6 位配对码输入电脑:
adb pair 192.168.1.20:37115 # 电视配对码屏幕上的端口(示例,以电视显示为准)
提示 Enter pairing code 时输入电视上的 6 位配对码
adb connect 192.168.1.20:39201 # 无线调试主页面上的另一组 IP:端口(示例)
连上后照常安装。想让以后直接用 <电视IP>:5555,连上时再运行一次 adb tcpip 5555;配过对的电脑不用再配对。install.sh 和安装说明里的 Agent 会引导这一步。部分 TCL 固件(Q10M、Q10L、鹤 6 Ultra 等)没有配对码入口,只能先按下面的分品牌说明用数据线连电脑授权。
更细的分品牌说明(包括打不开 ADB 的机型)见 docs/devices/adb-by-brand.md。
2. 安装
让 Agent 装(推荐):把下面这段发给能在电脑上运行命令的 Agent(WorkBuddy、豆包电脑版、千问电脑版、Trae、Claude Code、Codex 等):
请帮我把开源电视桌面 Aerial 装到我的电视上,并设为开机进入的桌面。
电视 IP:<电视IP>
保持 ADB 常开:要
安装说明在这里:https://aerial.qust.me/agent.md
(打不开时用 https://raw.githubusercontent.com/pengchujin/aerial-tv/main/site/agent.md )
请先完整读完安装说明再动手,然后在我的电脑上亲自运行命令,不要只把步骤告诉我。需要我在电视上操作时提醒我。
最后按说明里的「验收」,把这几条命令的原始输出原样贴给我:
- adb shell "cmd package resolve-activity --brief -a android.intent.action.MAIN -c android.intent.category.HOME"
- adb shell settings get secure enabled_accessibility_services
- 按主页键后的 adb shell "dumpsys window | grep mCurrentFocus"
手机上的豆包、网页版聊天只会把步骤告诉你,不会执行;要用能跑命令的电脑版 / 工作版(豆包电脑版或豆包工作版、WorkBuddy、千问电脑版、Trae、Claude Code、Codex 等)。Agent 说装好了,看它贴出的 mCurrentFocus 输出里有没有 app.orchard.tv。
没有电脑:有用户用手机上的甲壳虫 ADB 助手、超级小爱装成功过,本仓库没有逐一实测。步骤和上面的 Windows 步骤一样,装好后建议再用电脑跑一遍验收。
一行命令(macOS / Linux):
curl -fsSL https://aerial.qust.me/install.sh | KEEP_ADB=1 TV=192.168.1.20 bash
只有无线调试的电视(见第 1 步)先 export ADB_PAIR=<配对屏 IP:端口> ADB_CODE=<6 位配对码> ADB_CONNECT=<无线调试主页 IP:端口>,再跑上面的命令;没有配对码入口的(TCL Q10M、Q10L、鹤 6 Ultra 等)先按分品牌说明用数据线连一次、运行 adb tcpip 5555,之后照常跑上面的命令。
手动:下载 aerial-standard.apk。只有无线调试的电视(见第 1 步)按下面两种情况之一先处理好,再运行命令:
- 有配对码入口(索尼 BRAVIA 的 Android 14 等):按第 1 步配对,连上后运行一次
adb tcpip 5555,命令的第一行才用 5555;不运行的话,第一行换成无线调试主页面的 IP:端口,其余不变。 - 没有配对码入口(TCL Q10M、Q10L、鹤 6 Ultra 等):按分品牌说明用数据线把电视连到电脑,授权后运行一次
adb tcpip 5555;没走这一步时,命令第一行的adb connect <电视IP>:5555不适用。
adb connect 192.168.1.20:5555
adb install -r aerial-standard.apk
adb shell pm grant app.orchard.tv android.permission.WRITE_SECURE_SETTINGS
adb shell cmd notification allow_listener app.orchard.tv/app.orchard.tv.guard.RevivalListener
adb shell appops set app.orchard.tv SYSTEM_ALERT_WINDOW allow
adb shell am start -n app.orchard.tv/.MainActivity
Windows 用 Agent 装,或照安装说明里的 Windows 步骤。
U 盘(不用电脑):下载 APK 拷进 U 盘,用电视的文件管理器打开安装。
| 下载 | 用在 | |---|---| | aerial-standard.apk | Android 5.0 及以上,先装这个 | | aerial-guard.apk | standard 装不上、提示不允许安装桌面类 App 时 | | aerial-lite.apk | Android 4.0–4.4(见下面的 Aerial Lite) |
装好后按主页键:系统问「使用哪个应用」时选 Aerial、再选「始终」就设好了(原生 Android TV 一般是这样)。直接回到原桌面、不问(国产电视大多这样)时,从「我的应用」打开 Aerial,它会弹出「设为主屏幕」,按里面的入口去电视设置里打开桌面守护(无障碍)和通知使用权;电视设置里没有这些入口时,Aerial 只能当普通 App 用,要接管主页键还得用上面的命令或 Agent 设置一次(覆盖安装,不丢设置)。
升级:1.32 起,有新版本时控制中心会出现「有新版本」,点进去选「下载并安装」,在电视自己的安装界面确认(小米、TCL 上验证过),装完回到 Aerial,设置都保留。电视不让 App 安装应用时,升级就是再运行一次安装命令:升级页上有二维码,手机扫码能直接复制这台电视的命令,或者交给 Agent。1.31 及以前没有这个按钮,这一次还是要再运行一次安装命令。
Android 4.0–4.4 老电视:Aerial Lite(测试版)
Android 4.0–4.4 的老电视、老盒子装不了完整版(界面框架最低要 Android 5.0),所以有一个单独的 Aerial Lite:包名 app.orchard.tv.lite,外观和完整版一样。
Lite 现在是第一版(1.0),属于测试版。 只在 Android 4.0.4 / 4.4.4 虚拟机,以及小米、TCL 的新电视上测过,还没在真实的 4.x 电视上用过,可能有不少小问题。只适配 Android 4.0–4.4;Android 5.0 及以上请用上面的完整版。遇到问题请用机型适配模板反馈,标题写上 Lite。
一行命令(macOS / Linux):和完整版是同一条命令,脚本发现电视是 Android 4.x 会自动装 Lite;也可以明确指定:
curl -fsSL https://aerial.qust.me/install.sh | TV=192.168.1.20 bash -s lite
手动:下载 aerial-lite.apk,然后:
adb connect 192.168.1.20:5555
adb install -r aerial-lite.apk
adb shell pm grant app.orchard.tv.lite android.permission.WRITE_SECURE_SETTINGS # 调亮度用;Android 4.0 会报错,可以忽略
adb shell am start -n app.orchard.tv.lite/.HomeActivity
U 盘:把 aerial-lite.apk 拷进 U 盘,用电视的文件管理器打开安装。
装好以后:按遥控器的主页键,系统问「使用哪个应用」时选 Aerial Lite,再选「始终」。不弹出选择、直接回到原桌面,说明固件把主页键锁在了自家桌面,这时只能从应用列表打开 Lite。
和完整版的区别:没有桌面守护(无障碍接管),开机和主页键全靠系统的默认桌面;没有航拍壁纸、「我的视频」壁纸、信号源磁贴(4.x 没有电视输入框架,信号源按钮打开电视自己的信号源面板)、应用内升级(升级就是再装一次,设置保留)。航拍屏保、照片和每日一图、时钟、文件夹、长按菜单、控制中心、个性化、手机配置页都有。详细说明见 docs/LITE.md。
还原:电视上 设置 → 应用 → Aerial Lite → 清除默认设置,再按主页键选原来的桌面;或者直接卸载:adb uninstall app.orchard.tv.lite(一行命令的 bash -s restore --uninstall 也会卸载它)。
还原
curl -fsSL https://aerial.qust.me/install.sh | TV=192.168.1.20 bash -s restore
最后加 --uninstall(bash -s restore --uninstall)会顺便卸载 Aerial。不能运行 bash(Windows)时,逐条的 adb 命令见安装说明的「还原」。
想交给 AI 还原,把这段直接发过去(要能在电脑上运行命令):
请按 https://aerial.qust.me/agent.md 里「还原」一节的步骤,把我电视(IP:<电视IP>)的桌面还原成原来的,Aerial 先不卸载。
请在我的电脑上亲自运行命令,最后把 settings get secure enabled_accessibility_services 和按主页键后的 dumpsys window | grep mCurrentFocus 原始输出贴给我。
常见问题
- 我的电视能用吗:见下面的支持的机型。
- 只用 U 盘装了 APK:1.32 起「我的应用」里有 Aerial 的图标,打开后会提示怎么设为主屏幕。只装 APK 时按主页键、开机和待机后还是原桌面,要用上面的命令或 Agent 再设置一次(会覆盖安装,不丢设置)。
- TCL 弹出「多屏互动」:按遥控器「右」再按确认,选「同意」。
- 创维
adb install报INSTALL_FAILED_USER_RESTRICTED:先运行adb shell settings put global verifier_verify_adb_installs 0再装(用户反馈,详见安装说明)。 - 提示不允许安装桌面类 App:命令最后加
-s guard,或下载 aerial-guard.apk。 KEEP_ADB=1是什么:小米待机后会关掉 ADB,加上它 Aerial 会重新打开,方便以后升级。- 原来的桌面、会员、小爱、账号和有线电视还在吗:都在。Aerial 只换桌面,原来的桌面在 App 列表里(小米影视、PatchWall 从「桌面」磁贴进),小爱同学、小米账号、有线电视照常。开机广告是固件播的,去不掉。
它怎么接管桌面
国产电视大多只认自家桌面,待机时还会清理第三方 App。所以 Aerial 用一个无障碍服务,原桌面一出现就切回来(只看哪个窗口在前台,不读屏幕内容);被清理后再靠通知监听让系统把它拉起来(不读通知)。老小米(Android 6)的桌面不报告窗口变化,守护改看系统的用量统计;有些酷开、创维固件不按标准方式启动桌面,守护也认得它们自己的桌面。原生 Android TV 上不需要这些,直接设成默认桌面就行。
支持的机型
✅ 能用 ⚠️ 能用,有限制 ❌ 暂时接管不了。大多来自用户反馈,带「笔记」的有详细记录。
| 品牌 | 机型 | 系统 | 情况 |
|---|---|---|---|
| 小米 / Redmi | MiTV-MFTR0(Redmi X65 2026)、MFFU0、MTSU0(S65 Mini LED 2026 至尊版) | Android 14 | ✅ 日常使用(MFTR0、MFFU0、MTSU0) |
| 小米 | MiTV-ASTP0、ASTP1、NSOP0、MFTP0 | Android 9 | ✅ MFTP0 被系统清理后约 30–60 秒才回来(笔记) |
| 小米 | 小米电视 4 / 4A / 4X / 3S、小米盒子 4 | Android 6 | ✅ 1.43 起;按主页键后几秒才回到 Aerial(笔记) |
| 小米 | 小米电视 2(MiTV2-49) | Android 4.3 | ❌ Aerial Lite 能装能跑,但主页键由系统直接打开小米桌面,当不了桌面(#770) |
| 华为 | M330 盒子 | Android 4.4 | ❌ Aerial Lite 能装,但固件每次开机把默认桌面改回华为桌面(#850) |
| 小米(峰米) | Ultraman 系列投影仪 | Android 9 | ✅(笔记) |
| TCL | MT5879 国行、98T8H | Android 11 | ✅ 日常使用(笔记;98T8H 见 #803) |
| TCL | Q9L Pro | Android 14 | ⚠️ 只能 USB 线连 adb;要在电视管家里允许 Aerial 自启;信号源切了没画面(#792) |
| 雷鸟 | 75S78A Plus(FFALCON T966D5) | Android 14 | ❌ 固件约每分钟清掉无障碍,主页键接管不了;boot_app_componentname 能让开机进 Aerial(笔记) |
| TCL | 75V2(m7221) | Android 8 | ✅ 免 root,开机直达(笔记) |
| TCL / 雷鸟 | 60A730U、55V2 Pro(x32a0)、65Q10E 与鹤 6(m7642)、75S365C、75Q10L | Android 5.1–14 | ✅ 60A730U 只能装 guard 版;55V2 Pro 先 setprop persist.tcl.debug.installapk 1 才能 adb 安装(#620) |
| 雷鸟 | 55S595C Ultra、鹤 6 2025 Ultra | Android 11+ | ❌ 能装,接管不了主页键(笔记) |
| 索尼 | A80J 国行、BRAVIA VH1 | Android 10 / 12 | ✅ |
| 索尼 | KD55X7000D 国行 | Android 8 | ✅ 亮度要在电视设置里调(#757) |
| 创维 / 酷开 | K3 Pro、75A7D | Android 11 | ✅ 75A7D 的信号源 1.45 起能用 |
| 创维 / 酷开 | 65G60、8R134 / 8R145、aigc 系(C10 投影、P60、7T863) | Android 8–11 | ⚠️ 开机先进酷开桌面,或被系统清理后要等 20–30 秒(笔记) |
| 创维 / 酷开 | 5S21(50K2、7626K2)、5S05(60U2)、8H66 H7 | Android 5.x | ⚠️ 开机和待机后是 Aerial,主页键回不到 Aerial;信号源列不出来 |
| 创维 / 酷开 | 8H57_H5 | Android 5.1 | ⚠️ 开机先转圈十几秒才进 Aerial(#785) |
| 创维 | 1AA46_D4(T963) | Android 9 | ✅(#796) |
| 创维 | 7T641、7T634_P3H、75A6E、55A5F Pro(8R702)、8R721_A6FP | Android 13 | ❌ 黑屏,或拿不到焦点被系统结束(#864、#839) |
| 创维 | 小湃 P3(Q5001 / cupid-p2)盒子 | Android 10 | ⚠️ 要改包名才能接管 HOME;开机广播全被拦(笔记) |
| 松下 | TH-55HX560C(创维代工) | Android 8 | ⚠️ 信号源列不出来 |
| 康佳 | KKTV U86V9、2861 | Android 9 | ✅ U86V9 亮度调不了(笔记) |
| 乐视 | 超4 X55(f608) | Android 6 | ✅ 安装、开机自启、主页键接管(#510) |
| 乐视 | 超3 X65(X65-168CQ) | Android 5.0.1 | ⚠️ 能装能显示;按主页键时系统会强杀第三方桌面,接管不稳定(笔记) |
| 海信 / Vidda | VIDAA 各型号 | Android 5–14 | ⚠️ 主页键能接管,开机多数先进聚好看;VIDAA C1 投影接管不了(笔记) |
| 海信 | 65E52D | Android 8 | ✅ 开机直接进 Aerial(#672) |
| 海信 | 75E3F(VIDAA_TV,n62016) | Android 9 | ✅ 开机直接进 Aerial(#847) |
| 海信 | E5Q Pro | Android 11 | ✅(#790) |
| 海信 | VIDAA_TV(MSD6A348) | Android 4.4 | ✅ Aerial Lite,U 盘安装,主页键选「始终」即可;亮度调不了(#769) |
| 夏普 | LCD-50SU671A | Android 6 | ✅ 要用 QuickShortcutMaker 打开 ADB |
| OPPO | K9 | Android 9 | ⚠️ 要改包名才能装(笔记) |
| 极米 | Z7X、m7642 | Android 9 | ✅ Z7X 要用第三方工具打开 ADB(笔记) |
| 极米 | 神灯 L1(m7642,pig_chivalrous) | Android 9 | ✅ 默认桌面开机后会丢,报告人的双规则办法见笔记(#767) |
| 极米 | Z6X 第四代(XK03U / ironman / m7221) | Android 8 | ⚠️ HDMI1 列表与切换已实测;未测视频输出(笔记) |
| 极米 | H3、m7221 | Android 8 | ✅ 要用第三方工具打开 ADB;开机和屏保与 Z7X 一致(笔记) |
| 大眼橙 | X7、X7D 投影仪 | Android 9 / 5.1 | ✅ HDMI 里按主页键可以回到 Apple TV 主屏幕(笔记) |
| 大眼橙 | OBE_R3Ultra 高亮版(投影仪,MT5879) | Android 11 | ✅ 开发者选项里只有「USB 调试」,打开后 adbd 直接监听 5555;按主页键先落固件的优酷桌面,约 13 秒后由守护切回(笔记) |
| 腾讯极光盒子 | 6 / 6SE / 7S | Android 10 / 14 | ✅ 6 正常;⚠️ 7S 开机停在原桌面(笔记) |
| 当贝 | 盒子 Max1、H5,哈趣 K2(当贝 OS) | Android 9 | ✅ |
| 当贝 | H3S 盒子(RK3566) | Android 11 | ⚠️ 固件按主页键时强停第三方 App,Aerial 要 7–12 秒才回来(#849) |
| 当贝 | F3 投影仪 | Android 6 | ❌ 固件不让第三方当桌面,也没有无障碍服务(#789) |
| 坚果 | S621 | Android 13 | ❌ 固件不让写无障碍设置,主页键接管不了(#793) |
| 爱普生 | DTP9733 投影仪 | Android 11 | ✅ |
| 志影 / 喜瑞 | HS350 投影仪(海思,YunOS) | Android 9 | ⚠️ 固件强停退到后台的第三方 App,从别的 App 按主页键要 10–30 秒才回 Aerial;不是用安装脚本装的要补两条授权(#853) |
| 其他盒子 | CM311-1(改版 ATV)、PPTV K55U27、HK1 Box(S905X3) | Android 9 | ✅ HK1 Box 设成默认桌面即可(#838) |
- Android 4.0–4.4:用 Aerial Lite(第一版,测试版)。
- 不支持:LG webOS、三星 Tizen、华为鸿蒙智慧屏,以及 Android 4.0 以前的系统。
- 打不开 ADB:老乐视、荣耀智慧屏、老康佳(看不到版本号)。
- 老电视或内存小的电视会卡:1.48 起自动改用「流畅」效果(面板用纯色、去掉高光),也可以在 个性化 → 效果 里手动选。
装好了,但有地方不对?帮 Aerial 适配你的电视
按主页键回到原桌面、待机或开机后停在原桌面、信号源打开的口不对、亮度条没反应,选一种方式:
1. 交给 Agent(最省事):发给能在电脑上运行命令的 Agent。它会自检,能改的当场改好(比如信号源编号),最后整理成一份报告,你看过再提交。
请按 https://aerial.qust.me/adapt.md 给我的电视做 Aerial 适配。
电视 IP:<电视IP>
哪里不对:<比如:按主页键回到原桌面 / HDMI 2 打开的是 HDMI 1 / 待机后停在原桌面>
请先完整读完说明再动手,在我的电脑上亲自运行命令,不要只把步骤告诉我。
待机测试、重启电视之前先问我;不要卸载或停用任何系统应用。
最后把整理好的报告给我看,我同意后再提交到 GitHub。
2. 用手机提交:控制中心 → 个性化,扫二维码,手机页最下面「反馈问题 → 显示诊断信息 → 去 GitHub 反馈」。型号和版本会自动填进机型适配模板,诊断信息自动复制,粘贴进去就行。
电脑上也可以自己跑:curl -fsSL https://aerial.qust.me/tools/report.sh | TV=<电视IP> bash(只读)和 curl -fsSL https://aerial.qust.me/tools/selftest.sh | TV=<电视IP> bash(按主页键、打开设置,看 Aerial 能不能回来),把两份输出贴进模板。诊断信息不含账号、IP、Wi-Fi 名称和 App 列表。你的电视能正常用,也欢迎用实测可用模板告诉大家。
开发
需要 JDK 17、Android SDK 36。
./gradlew assembleStandardRelease assembleGuardRelease
BUILD=1 KEEP_ADB=1 TV=<电视IP> tools/install.sh
代码结构见 ARCHITECTURE.md,现状和规则见 HANDOFF.md,各机型笔记在 docs/devices/。
许可
MIT。Inter 字体使用 SIL Open Font License。天气用的国内城市表来自 GeoNames(CC BY 4.0),天气数据来自 Open-Meteo。
Aerial 是独立的开源项目,与 Apple、小米、TCL 等公司无关。航拍影片版权归 Apple,由 Apple 的服务器直接播放;每日精选图片来自必应。