escrcpy 更新日志全解析:从 1.0.0 到 3.0.8 的功能演进与核心能力路线图
【免费下载链接】escrcpy📱 Display and control your Android device graphically with scrcpy.项目地址: https://gitcode.com/GitHub_Trending/es/escrcpy
本指南以 escrcpy 项目官方更新日志为主体,系统梳理其从 2023 年 9 月首个版本到当前 3.0.8 版本(2026 年 8 月)的完整演进脉络,覆盖 scrcpy 内核升级、连接方式、文件管理、内置终端、自动化脚本、键盘映射、多设备群控、Copilot 智能体等核心模块的诞生与成熟过程。读完本文,你将全面掌握 escrcpy 各版本的能力边界、关键特性对应的仓库实现位置,以及如何在版本迭代中快速定位某项功能的价值。
说明:本文事实均以仓库根目录 CHANGELOG.md 为准,该文件同时被 docs/zhHans/changelog.md 与 docs/en/changelog.md 通过
@include方式引用。项目当前版本为 3.0.8,见 desktop/package.json 与根目录 package.json。
一、版本总览与演进时间线
从变更日志可以清晰看到,escrcpy 经历了三个大的演进阶段,scrcpy 内核版本也随之上探:
| 阶段 | 代表版本 | 时间 | 核心主题 |
|---|---|---|---|
| 起步期 | 1.0.0 ~ 1.8.x | 2023-09 ~ 2023-10 | 有线/无线连接、偏好设置、录制、跨平台打包(Windows/macOS/Linux) |
| 能力爆发期 | 1.9.0 ~ 1.34.x | 2023-10 ~ 2025-12 | i18n、深色模式、图形文件管理器、窗口编排、Copilot、内置终端、应用启动镜像 |
| 智能化重构期 | 2.0.0 ~ 3.0.8 | 2026-01 ~ 2026-08 | 群控、自动化脚本、键盘映射、MCP 自动操控、订阅体系、子包化重构 |
scrcpy 内核跟随版本(散见于各版本 Performance Improvements 条目):
- 1.12.0 升级到 scrcpy v2.2,并新增 OTG 功能;
- 1.16.0 升级到 scrcpy v2.3,同时引入 WebSocket 能力;
- 1.17.0 升级到 scrcpy v2.4;
- 1.24.1 升级到 scrcpy@2.7,以支持手柄(gamepad);
- 1.27.1 ~ 1.29.9 区间连续跟进 v3.0、v3.0.2、v3.1、v3.2、v3.3、v3.3.1、v3.3.2、v3.3.3;
- 2.0.0 更新到 scrcpy v3.3.2;
- 2.11.0 更新到 scrcpy 4.0;
- 3.0.0 更新到 scrcpy v4.1。
从这些条目可以看出,escrcpy 始终保持对 scrcpy 上游内核的紧跟策略,这直接影响镜像稳定性与设备兼容性。
二、设备连接能力的演进:无线 ADB、扫码配对与局域网发现
设备连接是 escrcpy 的根基,更新日志完整记录了其从基础到智能的演进:
- 1.0.0(2023-09-16):新增基本的有线连接与无线连接支持,同时修复了 "ADB 环境变量配置错误导致无法连接" 的问题;
- 1.4.0:修复无线配对时表单验证错误,以及直接进行无线连接时未处理配对设备的问题;
- 1.28.0(2024-12-20):新增通过二维码配对并连接设备,同时支持通过设备列表连接历史设备、显示离线设备;
- 1.32.0:修改 ADB 连接方式以兼容扫码连接,并标准化设备列表生命周期处理流程——无线连接时IPv6 地址必须使用
[]包裹,且端口号不能省略; - 2.5.0:为批量无线设备连接增加并发限制,并修复 shell 空格命令解析问题(对应
Fix shell space command parsing problem); - 2.10.0(2026-05-07):新增局域网自动发现功能,可扫描并自动连接局域网内所有可用设备,且自动排除已连接设备;
- 2.11.0:启用设备应用交互时增加显示预设。
在源码层面,无线/有线连接统一由 ADB 相关中间件管理,见 desktop/electron/middleware/adb/index.js;其中的设备扫描器(DeviceScanner / AdbScanner)与下载器(ADBDownloader)等类定义可参考 desktop/electron/middleware/adb/helpers。此外,仓库还沉淀了独立的 packages/adbx(adb 工具与重复逻辑的抽象包),这一抽象正是 3.0.0 版本 "Refactor adb-related tools and repetitive logic into a separate packages/adbx" 的落地成果。
三、文件管理:从基础推送到独立窗口图形文件管理器
文件相关能力贯穿整个版本史,演进路径非常清晰:
- 1.13.2:新增文件推送(File push)功能;
- 1.23.0(2024-09-07):新增图形化文件管理器;
- 1.23.2:支持文件管理器上传到当前目录;
- 1.28.5:文件管理支持选择目录上传,优化上传接口布局;
- 1.29.6:文件管理支持返回根目录;
- 1.34.0(2025-12-07):文件管理器被重构为独立窗口、支持多实例并行,引入新的文件图标显示组件,并增强文件资源管理器对话框;
- 2.0.0:文件管理器进一步重构,支持截图/录制文件复制到剪贴板、批量复制到剪贴板(2.8.0 修复了 Windows 下多文件复制到剪贴板的问题);
- 3.0.0:为文件管理器新增快速访问/收藏功能,并支持更直观的文件排序。
对应渲染层实现可参考 desktop/src/hooks/use-explorer 下的模块化 Hook(剪贴板、下载器、文件操作、文件预览、排序、快速访问、选择、上传器等),以及独立的文件管理器页面 desktop/pages/explorer。
四、终端能力:从系统终端到 xterm 内置终端
终端是开发者和高级用户高频使用的入口,其演进同样显著:
- 1.14.0(2023-11-14):新增终端调试功能;
- 1.17.2:修复内置终端 ADB 命令异常;
- 1.33.0(2025-11-20):新增系统终端支持;
- 2.0.0:新增系统终端支持(跨版本重构),并修复 Windows 调用系统终端失败、PowerShell 调用失败、终端注入命令失败等问题;
- 2.4.0(2026-02-26):全面迁移到基于 xterm 的内置终端,提供更可控的用户体验,同时为 Windows 平台优先选择
pwsh.exe,并用 tree-kill 取代 fkill 解决 Windows 二进制文件执行问题。
仓库中终端页面位于 desktop/pages/terminal,其中 desktop/pages/terminal/hooks/use-terminal/index.js 封装了终端会话逻辑(extract terminal logic into useTerminal hook正是 2.4.0 的重构条目之一);主进程侧会话管理在 desktop/electron/modules/terminal,其 session 与 provider(base/device/local/registry)架构对应了日志中 "implement terminal session management with providers" 的重构记录。
五、镜像、窗口与多设备管理
5.1 镜像控制与窗口能力
- 1.15.0:添加投屏窗口大小控制与窗口位置选项;
- 1.21.0:支持自定义启动镜像;
- 1.25.0:支持控制时关闭设备屏幕,并增强录制功能(支持摄像头录制、查看设备实时图像与电量信息);
- 1.29.0:支持将"打开应用"动作添加到桌面快捷方式(macOS 不支持),支持批量启动镜像,并实验性支持 Linux arm64 与 Linux 桌面快捷方式;
- 2.0.0:支持通过图形界面编排设备窗口、悬浮控制栏、边缘隐藏(edge hiding)、单实例启动、批量启动镜像、启动指定应用进行镜像,并修复显示 ID 值类型错误、IPv6 连接失败等问题;
- 2.6.0:窗口编排优化——通过获取设备实际屏幕尺寸、取消固定比例缩放,避免黑边问题,提升适配精度;同时批量执行自动化脚本时同步获取屏幕分辨率以优化排列体验;
- 2.8.0:窗口编排支持自动排列功能;
- 2.10.0:内嵌镜像新增键盘映射,并优化内嵌镜像旋转窗口与设备旋转的同步问题;
- 2.11.0:内嵌镜像增加显示预设,键盘映射重构生命周期骨架以提升可扩展性。
5.2 多设备群控(wscrcpy / 组控制)
- 1.13.0(2023-11-07):新增镜像组功能;
- 2.7.0(2026-04-01):设备组控制功能首次实现——新增 wscrcpy CLI 参数适配器并逐步补齐参数,支持鼠标悬停监控、macOS 下默认仅开启音频转发;随后多个版本持续修复组控制失败、剪贴板同步、重连、视频流异常断开、辅助设备交互转发冲突等问题;
- 2.8.1:批量自动化脚本与设备组控制的免费限制提升到5 台设备;
- 2.10.0:重构并拆分 wscrcpy 功能逻辑,改进批量/自动化镜像执行性能与可靠性,wscrcpy 群控可靠性持续优化;
- 3.0.0:mscrcpy 服务器改用 yadb 重构,并进一步重构为 madb,内嵌镜像相关能力被沉淀为独立包。
5.3 窗口编排的源码佐证
图形化窗口编排的前端实现位于 desktop/src/components/arrange-dialog,其 hooks 目录(useAutoArrange、useDeviceManagement、useLayoutManagement、useSaveLayout、useWidgetManagement 等)与 docs/zhHans/guide/window-arrangement.md 文档对应;控制窗口的创建与管理在主进程 desktop/electron/modules/control。
六、自动化:脚本编排、定时任务与快捷键
自动化是 2.x 系列投入最大的方向之一:
- 1.21.0:支持执行脚本与批量执行脚本;
- 1.22.0:新增定时任务列表与基础定时任务功能;
- 2.6.0:自动化脚本迎来重大增强——图形化脚本编辑器初版、支持批量执行与定时任务、支持执行区间选择、变量导入导出(含"魔术变量")、脚本模板(新增微信脚本模板)、随机范围选项、日志目录修复等;
- 2.8.0:自动化脚本新增随机范围选项;
- 2.10.0:重构定时任务模块,支持应用重启与任务恢复;键盘映射宏支持使用自动化脚本;自动化脚本 keylist 增加国际化;
- 2.11.0:为"打开应用"功能增加显示预设;
- 3.0.0:新增快捷键模块(含入口、第一版完成、冲突检测优化、配置导入修复),并将定时任务整合进快捷键模块,重构快捷键与定时任务核心,同时引入图像识别/判断功能(初版可用),为自动化加入视觉能力;重构自动化截图标注选择器,脚本编辑器数值单位改为基于坐标的百分比。
自动化脚本编辑器与执行相关的代码集中在 desktop/src/hooks/use-camera-action、desktop/src/components/cron-selector(定时任务选择器)以及设备页面的批量操作组件 desktop/src/views/device/components/batch-actions。
七、Copilot / 自动操控:从聊天助手到 MCP 智能体
Copilot 模块是 escrcpy 差异化能力的重要部分,更新日志显示其经历了数次大的架构重建:
- 2.0.0(2026-01-05):Copilot 大版本重构,接入 AutoGLM 并支持多设备自动化;
- 2.1.0:Copilot 支持
thinking_stream事件,优化会话回调与事件处理,改用外部 autoglm 库替代内置实现,配置迁移至 store 管理,付费后自动配置 Copilot; - 2.2.0:通过获取设备已安装应用信息提升 Copilot 打开应用的准确率与覆盖面,修复 autoglm 对话请求监听器未清理导致的内存溢出问题;
- 2.3.1:修复 Windows/Linux 下无法点击进入 Copilot 入口的问题;
- 3.0.0:Copilot 底层架构与交互全面重构——支持会话列表与多模型配置,渲染进程初步集成基于 MCP 的模型控制能力,新增 scrcpy-mcp 包,修复模型默认值竞态、回复无法显示、快捷键无法保存等问题;内置模型增加定价展示与输入价格展示,重构表单配置逻辑,优化 baseURL 逻辑与兼容性;
- 3.0.7/3.0.8:持续优化 MCP 客户端逻辑与 Copilot 系统提示词细节。
该模块的主进程窗口管理位于 desktop/electron/modules/main(主窗口)与 desktop/electron/modules/control,前端交互组件分布在 desktop/src/components/quick-bar 与 desktop/src/views;MCP 相关能力在 3.0.0 中被沉淀为scrcpy-mcp包(对应仓库 packages 目录下的子包体系)。
八、订阅体系与打包分发
8.1 订阅体系
从 2.0.0 开始,部分高级功能(如批量自动化、设备组控制)引入了订阅机制,相关变更包括:
- 2.1.0:新增订阅配置 Hook,更新订阅翻译,修复支付金额处理;
- 2.2.0:优化订阅 store 初始化与 token 管理;
- 2.6.0/2.6.1/2.6.2:为批量自动化脚本新增订阅方案,支持通过环境变量调整订阅价格,优化订阅交互体验;
- 2.7.0:改进组控制功能的订阅能力;
- 2.8.0:修复订阅方案默认值问题,优化定价策略防止用户误判;
- 3.0.0:重构订阅模块业务逻辑以支持按功能付费(pay-per-function),统一订阅体验,重构 token 存储逻辑。
8.2 打包与跨平台
- 1.8.0:初步添加对 Linux 与 macOS 的支持;
- 1.8.13:为 Windows 添加 ARM64 包编译;
- 1.29.0:实验性支持 Linux arm64;
- 2.3.0:优化便携版配置,新增 Linux flatpak 包支持,Windows 便携版将用户数据完全重定向到便携目录;
- 2.6.2/2.9.0:重构版本构建,禁用不常用的 flatpak 构建以提升打包速度;
- 3.0.0~3.0.8:一系列构建与发布脚本优化,包括子包构建逻辑优化、GitHub Actions 构建错误修复、依赖构建错误修复,以及修复打包后运行 MCP 服务器出错的问题。
打包配置见 desktop/electron-builder.config.js,CI 发布流程可参考 desktop/dev-publish.yml。
九、体验与生态:i18n、主题与语言支持
- 1.9.0:添加 i18n 初步支持;
- 1.10.0:新增深色模式、国际化语言、运行日志等功能;
- 1.18.0~1.18.4:新增繁体中文(zh_TW)语言支持,并修复合并失败问题;
- 1.29.6/1.30.2:新增阿拉伯语与日语支持;
- 1.10.0 之后:修复 macOS 主题跟随系统导致的循环触发死循环、切换主题重启后不生效、深色主题背景不生效(2.8.1)等问题。
国际化语言文件与同步脚本对应仓库中的 scripts/lang-sync.js,前端 i18n 插件封装见 desktop/src/plugins/vue-i18n。
十、如何从更新日志定位源码
更新日志中的每条记录都以 commit 哈希结尾,但要在当前仓库中快速定位对应功能实现,更可靠的方式是按模块路径检索:
| 更新日志主题 | 推荐源码入口 |
|---|---|
| scrcpy 参数解析与进程启动 | desktop/electron/middleware/scrcpy/index.js(createScrcpyProcess通过sheller('scrcpy ...')启动镜像进程,见第 21-110 行)与 desktop/electron/middleware/scrcpy/helper.js |
| gnirehtet 反向供网 | desktop/electron/middleware/gnirehtet/index.js |
| 设备/ADB 交互 | desktop/electron/middleware/adb |
| 文件管理器 | desktop/src/hooks/use-explorer 与 desktop/pages/explorer |
| 终端 | desktop/electron/modules/terminal 与 desktop/pages/terminal |
| 窗口编排 | desktop/src/components/arrange-dialog |
| 偏好设置模型 | desktop/src/models/preference(audio/camera/common/device/input/launch/record/video/window 分类,与偏好设置表单 desktop/src/components/preference-form 对应) |
值得注意的是,更新日志中 "Optimize scrcpy configuration processing logic"、"Refactor scrcpy parameter parsing" 等条目对应 desktop/electron/middleware/scrcpy/helper.js 中的parseDisplayIds、parseScrcpyAppList、parseScrcpyCameras、parseScrcpyCodecList等解析函数,它们是"获取设备显示列表、应用列表、摄像头、编码器支持"等动态能力的基础。
结语
通过完整梳理 CHANGELOG.md 可以得出 escrcpy 的三条主线:对内嵌镜像与 scrcpy 内核的持续跟进(v2.2 → v4.1)、对设备交互与文件管理体验的反复打磨(无线连接、扫码、群控、文件管理器)、以及向自动化与智能化方向的坚定投入(自动化脚本、快捷键、定时任务、MCP 自动操控)。无论是想要了解某个功能何时引入、某个问题在哪个版本修复,还是希望通过更新日志反查源码入口,本文梳理的版本时间线与模块对照表都可以作为你的起点。
【免费下载链接】escrcpy📱 Display and control your Android device graphically with scrcpy.项目地址: https://gitcode.com/GitHub_Trending/es/escrcpy
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考