电脑上要装的东西,只有一个

准备工作接近尾声。电视端已经开门,网络已经修平,备份策略已经了然。这一篇解决最后一个技术问题:电脑上要装什么,才能和电视对话?

答案比绝大多数教程描述的都简单:一个 Python,够了。

你可能在别处看过"要先装 adb""要配 Android SDK""要装 JDK"的说法——那些是针对安卓开发者的完整环境。CleanYourTV 把这些都省掉了:它的 tools/tv.py 用纯 Python 自己实现了 ADB 客户端,连接、执行命令、传文件、截图全包,你不需要再装任何官方的安卓工具。这一篇就把 Python、adb、tv.py 三者的关系捋清楚。

三个名字,一张关系图

先建立整体认知。电脑侧有三个名字会反复出现,它们的角色是这样的:

---
markmap:
  colorFreezeLevel: 2
---
# 电脑侧三件套

## Python
- 一门编程语言
- 电脑上的运行环境
- 唯一需要安装的东西

## adb
- 安卓调试桥协议
- 电脑与电视对话的语言
- 由 tv.py 内部实现
- 无需单独安装

## tools/tv.py
- 项目自带的脚本工具
- 纯 Python 写的 ADB 客户端
- 下载项目即获得
- 支持 shell/batch/push/pull/reboot/截图

用一句大白话概括:adb 是"语言",tv.py 是"翻译官",Python 是"翻译官生存的空气"。 你只需要把空气装好,翻译官跟着项目一起来的。

第一步:检查电脑有没有 Python

macOS 和多数 Linux 发行版自带 Python,Windows 不一定。检查方法(以 Windows 为例):按下 Win + R,输入 cmd 回车,打开黑色的命令行窗口,输入:

python --version

如果显示 Python 3.x.x(3.8 以上即可),恭喜,直接跳到下一步。如果提示"不是内部或外部命令",或者跳转了微软应用商店,说明没装 Python,去 python.org 下载安装包,安装时务必勾选"Add Python to PATH"这个选项,否则命令行找不到它。

macOS 用户输入 python3 --version 检查;Linux 用户同理。这是全篇唯一的"装软件"动作,五分钟内能搞定。

第二步:把项目拿到手

Python 就位后,把 CleanYourTV 的代码下载到电脑上。官方入口就是第 1 章反复强调的那两个:GitHub 仓库 Gathin23/cleanyourtv,或从 cleanyour.tv 找到指引。

如果你熟悉 Git,一条命令搞定:

git clone https://github.com/Gathin23/cleanyourtv.git

如果不熟悉 Git,更简单:在 GitHub 仓库页面点"Code — Download ZIP",下载后解压到任意文件夹,比如桌面。解压出来的目录里,就能看到 tools/ 文件夹和里面的 tv.py。

两种方式拿到的内容完全等价。对普通用户,我推荐 ZIP 方式:没有学习成本,不会误操作,不想用了删掉文件夹就干净退出。

给纯新手的命令行十分钟

"不懂命令行也能读懂"是本书的承诺,所以这里补一段命令行扫盲。如果你已经会打开终端、会切换目录,跳过即可;如果这是你第一次看到"命令行"三个字,花十分钟读完这一节,够用了。

命令行是什么? 它是一个用文字代替鼠标的窗口。你输入一行指令,按回车,电脑执行,把结果用文字反馈给你。没有图标,没有按钮,但能做图标做不了的事——比如让电脑替你操作电视。

怎么打开? Windows:按 Win + R,输入 cmd,回车。macOS:打开"启动台",搜索"终端"(Terminal)。Linux:你大概率已经会了。打开后你会看到一个黑色或白色窗口,里面有一个闪烁的光标——它在等你说话。

怎么切换目录? 命令行永远停在某个文件夹里,这个文件夹叫"当前目录"。切换的命令是 cd(change directory)。比如你下载的项目解压在了桌面:

cd Desktop\cleanyourtv-main

这就是告诉电脑:"进入桌面的 cleanyourtv-main 文件夹。"macOS 和 Linux 的路径用斜杠:cd Desktop/cleanyourtv-main。两个小技巧:输入前几个字母按 Tab 键,系统会自动补全文件夹名;想退出当前文件夹,输入 cd .. 回上一级。

怎么算"进入了项目目录"? 输入 dir(Windows)或 ls(macOS/Linux)回车,如果列出的内容里有 tools、README.md、PROMPT.md 这些名字,就对了。从这里开始,所有 python tv.py 命令才找得到脚本。

命令报错了怎么办? 99% 的新手报错来自三类:拼写错(比如把 tv.py 打成 tv.pyy)、没在项目目录里运行(cd 没到位)、Python 没装好。把报错信息原样复制,丢给搜索引擎或 AI 助手,基本都能定位。命令行不可怕,它只是诚实——对了就执行,错了就告诉你哪错了。

记住一个最重要的心理事实:命令行里没有"手滑点坏"这回事。 鼠标可能误触,命令行不会——你不按回车,它什么都不做;你按错了,它顶多报个错。这就是本书敢把流程交给普通用户跑的原因。

tv.py 能干什么:先认个门

tv.py 是本书第 4 章的主角,这里只做入门介绍,认识它的"五官"即可:

功能 命令形态 用途
连接电视 python tv.py connect <IP:端口> 与电视建立 ADB 无线连接
执行单条命令 python tv.py shell <命令> 在电视上执行一条命令
批量执行 python tv.py batch <脚本文件> 一次运行一整份命令清单
推送文件 python tv.py push <本地文件> <电视路径> 把文件传到电视
拉取文件 python tv.py pull <电视路径> <本地路径> 从电视取回文件
重启电视 python tv.py reboot 遥控器关机键的远程版
截图 python tv.py screenshot 把电视当前画面存成图片

看这张表就能发现,connect 之后的每一次使用,本质上都是"电脑通过 Wi-Fi 对电视说一句话"。电视回什么、屏幕显示什么,本书第 3、4 章会结合流程细讲。这里你只需要建立两个预期:第一,所有命令都在电脑的命令行里输入,电视不用任何操作;第二,命令格式统一是 python tv.py <动作> <参数>,记住这个骨架,第 4 章的所有内容都是在填骨架。

工具链全家福:tools/ 目录里还有什么

认识完 tv.py,顺便把 tools/ 目录逛一遍。这里是本书第 4 章的主场,现在只需混个脸熟:

成员 身份 什么时候和它打交道
tv.py 纯 Python ADB 客户端 全程,连接与执行命令都靠它
disable.sh / restore.sh 批量停用 / 一键恢复脚本 清理与反悔的时刻
recovery.py 恢复记录写入工具 每次停用后自动生成档案
check.py 固件升级后状态核对,--fix 可恢复 电视系统更新之后
b64push.py base64 分块上传大文件 传输首页安装包等场景
relay.py 本地端口转发 特殊网络环境排障
docker-build.sh Docker 构建脚本(JDK17 + Android SDK34) 想自己编译启动器的开发者
theme.sh 主题推送脚本 换首页主题时

一张表看下来的感受应该是:这个目录不大,但每个工具都对应流程中的一个真实环节。 普通用户高频用到的其实只有前四个,后面的属于进阶内容。本书第 4 章会带你把每个工具的用法、参数、适用场景逐个拆开,现在先知道它们在,就够了。

常见环境问题速查

第一次在命令行里跑东西,总会遇到几个"看起来像出错"的小状况。提前认识它们,遇事不慌:

现象 原因 解决
python 提示不是命令 没装或没加 PATH 重装并勾选 Add to PATH
python --version 显示 2.x 系统里的 python 指向旧版 改用 python3 命令
下载的 ZIP 解压后找不到 tv.py 解压路径点浅了 tools/ 子目录里,进到仓库根目录再操作
命令窗口一闪而过 直接双击了 .py 文件 应在命令行里输入命令,不是双击运行
提示拒绝访问/权限不足 文件权限问题 换个目录解压;macOS/Linux 可在命令前加 sudo

还有一类问题不出错、但也没反应:命令输完按回车,光标换行,什么都没发生。这通常是正常的——tv.py 的很多输出很简洁,成功时话不多。判断成功的标准是"有没有报错",而不是"话多不多"。

环境自检表

和前面几篇一样,收个尾:

序号 检查项 结果
1 命令行里 python --version(或 python3)有正常版本号 □ 是 □ 否
2 Python 版本 3.8 以上 □ 是 □ 否
3 项目已下载并解压,能找到 tools/tv.py □ 是 □ 否
4 命令行能切换到项目目录(会 cd 到该文件夹) □ 是 □ 否
5 知道 tv.py 的基本命令形态 □ 是 □ 否

到这里,第 2 章的五项准备工作就全部完成了:网络就位、调试打开、备份了然、环境理顺。还差最后一篇心理建设——把"能做什么、不能做什么"的边界钉在脑子里,然后我们就可以正式进入第 3 章的十五分钟实战流程。