电脑上要装的东西,只有一个
准备工作接近尾声。电视端已经开门,网络已经修平,备份策略已经了然。这一篇解决最后一个技术问题:电脑上要装什么,才能和电视对话?
答案比绝大多数教程描述的都简单:一个 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 章的十五分钟实战流程。
