把 CleanYourTV 装到电视上卡住,通常不是脚本本身的问题,而是三件事没确认:电视端是否允许外部调试、电脑是否被电视授权、电视是否放行应用安装。这三步任意一步没做,后面的安装命令都会失败,或者看起来在跑但拿不到电视的应用列表。建议按下面顺序逐项确认,每一步都有可观察的输出,别跳过直接执行仓库里的脚本。
CleanYourTV 依赖 ADB 通道访问电视,所以先解决调试授权再谈运行。适用场景是电脑与电视处于同一局域网、电视为 Android 或 Android TV 系统。操作动作是先开开发者选项和调试开关,再用 adb connect 与 adb devices 确认设备状态为 device,然后按仓库 README 准备环境、跑只读命令验证连通性。验证方式是设备列表出现电视 IP 且能列出电视包名。边界在于部分电视固件关闭了网络调试或不允许第三方安装,遇到这类限制只能改用电视实际支持的方式,不要依赖猜测的命令。
在电视设置里找到开发者选项并打开 ADB 调试
不同品牌的入口位置差异较大,但套路基本一致:先在“关于本机”里连点版本号进入开发者模式,再回到系统设置里打开调试开关。下面这些路径是常见情况,实际菜单名以电视显示为准。
- 小米 / Redmi 电视:设置 → 关于 → 产品型号连点数次 → 回到 设置 → 账号与安全 或 系统 → 开发者选项。
- 索尼 Android TV:设置 → 设备偏好设置 → 关于 → 版本号连点 → 返回 设备偏好设置 → 开发者选项。
- TCL / 雷鸟:设置 → 系统 → 关于 → 版本号连点 → 系统 → 开发者选项。
- 海信 / VIDAA:设置 → 系统 → 关于本机连点版本号,部分机型在 设置 → 系统 → 开发者选项。
- 创维 / 酷开:设置 → 关于本机 → 版本号连点,再进入 系统设置 里的开发者选项。
打开开发者选项后,需要确认的开关通常有两个:USB 调试(有线连接电脑时使用)和网络调试 / ADB over network(走局域网时使用)。CleanYourTV 在电视上运行一般走网络调试,所以这两个开关至少要把网络调试那一个打开。检查方式是停留在开发者选项页面,看开关是否处于开启状态,部分机型还会显示“已授权设备”列表,列表为空说明电脑还没获得授权。如果设置里完全找不到开发者选项,通常是连点次数不够或点错了条目,需要重新进入。
安装权限在同一区域附近,常见开关名为“未知来源应用”“允许安装未知应用”或开发者选项里的“通过 USB 安装”。这项不开时,adb install 会返回 INSTALL_FAILED_USER_RESTRICTED 之类的报错,比脚本执行失败更难排查,建议一并确认。
用 adb devices 确认电脑和电视在同一网络且已授权
电脑和电视要处在同一网段,这是前提。先在电视的网络设置里记下 IP 地址,然后在电脑上执行连接与列表命令:
# 连接电视,5555 是常见 ADB 网络调试端口,具体端口以电视显示为准
adb connect 192.168.1.50:5555
# 查看当前连接状态
adb devices
期望的输出是设备列表里出现一行 192.168.1.50:5555 device。如果显示的是 offline、unauthorized 或列表为空,按下面几点排查:
unable to connect:先在电脑上ping 192.168.1.50,ping 不通说明不在同一网段或电视网络未连上;能通但连不上,检查电视端网络调试开关是否真的打开,以及端口号是否与电视显示一致。unauthorized:电视屏幕通常会弹出“是否允许 USB 调试”的授权对话框,勾选“始终允许”并点确定。如果没弹窗,可以在电脑上执行adb kill-server后重新adb connect,让电视重新发起授权。offline:先adb disconnect再重新连接,仍不行时重启电视的调试开关。
连接稳定后再执行一条只读命令验证通道可用,例如 adb shell getprop ro.product.model,能返回电视型号说明 ADB 通道正常。不要在这一步就急着跑安装脚本。
从 CleanYourTV 仓库读取安装说明并准备运行环境
CleanYourTV 的运行依赖、入口文件和配置位置以仓库 README 为准,不要凭猜测执行仓库里的未知脚本。建议先克隆仓库、进入目录、打开 README 逐个确认三件事:运行时依赖(Python 还是 Node)、安装命令、配置文件的位置与必填项。
git clone <CleanYourTV 仓库地址>
cd CleanYourTV
# 先读说明,不要直接执行安装脚本
cat README.md
如果 README 标明是 Python 项目,通常的骨架是:
# 建议使用虚拟环境,避免污染系统 Python
python -m venv .venv
source .venv/bin/activate # Windows 用 .venv\Scripts\activate
pip install -r requirements.txt
如果是 Node 项目,则是 npm install 一类命令。README 里通常还会说明电视 IP、ADB 端口、目标包名等参数放在哪个配置文件或环境变量里,把这些参数对照电视实际情况填好,再进入下一步。依赖版本要求以 README 声明为准,遇到版本不符时优先按 README 指定的版本安装,而不是直接升级到最新。
运行最小示例并检查电视端是否出现预期变化
第一次运行不要直接执行完整流程,先跑只读操作,确认 CleanYourTV 能识别电视、能拿到数据。最直接的验证是列包名:
# 列出电视上已安装应用的包名,属于只读操作
adb shell pm list packages
# 也可以只看某个关键词相关的包
adb shell pm list packages | grep -i video
输出里应能看到电视上真实存在的应用包名,比如厂商自带的播放器、应用商店等。如果命令有输出、包名与电视上实际安装的应用对得上,说明 ADB 通道和权限都没问题,可以继续执行 CleanYourTV 的只读示例或 dry-run 模式(如果仓库提供)。如果 CleanYourTV 自身有列出设备的子命令,也可以先用它验证,再和 adb devices 的结果对照。
停止和回滚的方式要提前确认:脚本在终端里运行时用 Ctrl+C 中断,结束后执行 adb disconnect 192.168.1.50:5555 断开连接。如果脚本会修改电视端状态,务必先在 README 里看清是否有卸载或还原步骤,再决定是否继续。
记录连接参数和权限状态,便于下次复现
电视 IP 可能随 DHCP 变化,开发者选项也可能在系统更新后被重置,把当前状态写成一份可查记录,下次出问题能快速定位是哪一环变了。建议记录这几项:电视 IP 与 ADB 端口、开发者选项里两个调试开关的状态、安装未知来源是否放行、adb devices 的输出、CleanYourTV 的仓库提交或版本号。
可以用一个简单的检查脚本串起来,放在本地随时跑一遍:
#!/usr/bin/env bash
TV_IP="192.168.1.50"
TV_PORT="5555"
ping -c 2 "$TV_IP" > /dev/null 2>&1 || { echo "电视 IP 不可达,检查网络"; exit 1; }
adb connect "$TV_IP:$TV_PORT"
adb devices | grep "$TV_IP:$TV_PORT" | grep -q "device" \
&& echo "ADB 已授权,可继续" \
|| echo "未授权或未连接,回到电视确认调试开关与授权弹窗"
脚本只做连通性和授权状态判断,不执行安装动作,跑起来没有副作用。把每次判断结果记在同一个文件里,下次连接失败时先对比记录,能省掉大部分重复排查。