scrcpy:把够不着的安卓设备拉到电脑上调
- 分类
- 投屏扩展
- 平台
- Windows、macOS、Linux
- 许可证
- Apache-2.0
- 是否开源
- 开源
- 收费模式
- 免费
- 适用工序
- 系统集成与交付、运维与商业
- 支持协议
- USB、ADB、TCP/IP
它到底解决什么
scrcpy 是 Genymobile 团队做的一个开源工具,官方仓库简介说得很直白:它把安卓设备的画面(含音频)镜像出来,通过 USB 或网络连接都行,还能直接用电脑的键盘鼠标去操作这台设备。官方特意点出两条:不需要 root 权限,也不需要在设备上装任何 App。
翻成人话就是:你手上这台安卓设备,不管是手机、平板,还是展厅里那些做成一体机、播放盒子形态的安卓设备,只要能被电脑通过 USB 或者网络认出来,scrcpy 就能把它的屏幕整个拉到电脑桌面上,你在电脑上点鼠标,设备那边就跟着响应,跟你拿手指头戳它屏幕是一回事。
展厅工程里这类设备特别多:触摸一体机、平板控制端、安卓播放盒子、数字标牌屏、互动导览机——它们的共同麻烦是装在墙上、吊在顶上、锁在机柜里,你够不着屏幕。调试的时候总不能天天扛梯子上去戳一遍。scrcpy 的位置就卡在这个缝里:用一根线,或者设备已经联好网之后干脆连线都不用,把这台设备的画面拉到笔记本上,鼠标怎么点、设备就怎么响应,装在三米高墙上的一体机、嵌在天花吊顶里的盒子,不用现场爬梯子就能调。
展厅哪道工序会用到它
触摸一体机调试。 一体机上墙固定好之后,才是最容易出问题的时候——触摸响应区域偏了、某个按钮点不动、内容加载不出来。以前遇到这种情况得搬梯子上去戳,现在设备如果已经配好了网络连接(下文第五节会讲清楚这个前提),在办公室里用鼠标点一遍,跟站在屏幕前戳是一样的效果,问题在哪儿一目了然。
数字标牌排版确认。 竖屏、长条屏、异形屏这类展厅常见形态,内容排上去之后文字有没有被截断、二维码扫不扫得到、留白准不准,光看设计稿看不出来,得看设备实际渲染出来的样子。上线前最后一轮核对,不用每次都爬梯子上去看,拉一次画面就能核对清楚。
安卓播放盒子的应用配置。 交付前常见的一个动作是核对"这台盒子上到底装了哪些应用、该拉起哪一个"。scrcpy 能列出设备上已安装的应用包名,还能指定一个直接启动,比让现场人员对着屏幕报菜名、口头确认要靠谱得多,尤其是甲方要求预装播控 App 的项目,这一步能当场核实装没装对、能不能正常拉起来。
怎么获取,该下哪个包
官方仓库首页用醒目的警告框特意提醒:GitHub 上这个仓库是唯一的官方来源,就算某个网站上的下载包名字里带着 scrcpy 字样,也不要信。这一点对展厅工程尤其要紧——要往甲方的设备上装东西,来路必须干净。
Windows 上有两条路:
- 官方 release 包:GitHub 仓库的 Releases 页面提供打包好的 zip,分 64 位和 32 位两个版本,下载后解压即可,不需要安装。
- 包管理器:如果电脑上已经装了 WinGet、Chocolatey 或者 Scoop 这类包管理工具,也能直接用命令行装,用 WinGet 装的话会自动把 adb 这类依赖一起装好,省了自己找的功夫。
macOS 和 Linux 官方也各有对应的获取方式,展厅工程机里出现的机会少,这里不展开,需要时按官网对应平台的说明走即可。
有一件事必须先说清楚,因为读者不一定是天天敲命令行的人:scrcpy 是一个命令行程序,不是双击图标就打开一个界面的软件。 Windows 版解压出来的文件夹里,除了 scrcpy.exe 和负责跟设备打交道的 adb.exe,还带了一个叫 open_a_terminal_here.bat 的小工具——双击它,会在这个文件夹位置直接弹出一个命令行窗口,接下来打字输命令就行,不用自己去找"在这里打开命令行"这个选项在哪儿。如果每次都用同一套参数,也可以把常用的那条命令存成一个 .bat 文件,以后双击这个文件就等于把参数都带上跑了一遍,不用每次重新打字。
最短可用路径
第一步,先把安卓设备这边的开关打开。 进设备的"设置",找到"关于手机",连续点几下"版本号",会提示"你已经是开发者了",这样就解锁出一个叫"开发者选项"的隐藏菜单;进这个菜单,把"USB 调试"这一项打开。这一步是全流程里最容易卡壳的地方,下一节会专门展开讲。
第二步,接上设备,打开命令行,敲一条命令。 用数据线把设备接到电脑,双击前面提到的 open_a_terminal_here.bat,命令行窗口里直接敲 scrcpy 回车。
第三步,设备屏幕上会弹一个授权框,问"是否允许 USB 调试",要在设备上点确认允许。 这个确认动作只能在设备屏幕上完成,如果设备够不着按不了,参见后文第五节讲的"先在设备封装上墙之前把这一步走完"。
第四步,看到画面出现在电脑上,就算通了。 鼠标点在画面上的某个位置,设备那边对应位置就会跟着响应,跟拿手指戳设备屏幕是一回事;鼠标右键相当于安卓的"返回"键,中键相当于"Home"键。
展厅工程里真正要弄明白的那几件事
开发者选项和 USB 调试——最容易卡住的第一步
前面第一步说得轻巧,现场经常卡在这儿:不少展厅用的安卓一体机、安卓播放盒子,系统是设备厂商定制过的,"关于手机""版本号"这些入口的位置跟普通手机不一样,有的干脆把整个开发者选项藏得很深,极少数定制系统甚至直接把这个开关从系统里拿掉了。遇到这种情况,第一反应不该是怀疑 scrcpy 装得不对,而是先去找设备厂商确认:这台设备的系统到底支不支持开 USB 调试。这条判断放在售前阶段问清楚,比现场卡壳省事得多。
另外官方文档专门点了一类真实会遇到的坑:部分品牌(小米是官方举例的一个)的设备,就算开了 USB 调试,鼠标点上去设备也没反应,还会报一条跟"注入事件权限"相关的错误。这是因为这类设备把"允许控制"单独拆成了一个开关,藏在开发者选项里,名字类似"USB 调试(安全设置)",跟前面那个"USB 调试"是两个不同的选项,要单独找到并打开;打开之后必须重启一次设备才会生效,不重启直接试还是不通。
有线还是无线,看你在工程的哪个阶段
USB 有线连接最简单也最稳,装设备连着数据线基本不会有连接层面的意外。麻烦在于设备一旦上墙封装、锁进机柜,USB 口就够不着了,这时候只能靠网络连接。
这里有个前提,很容易被现场排期漏掉:想用网络连接,第一次必须先经过一次 USB 有线连接来完成配置,除非这台设备本身已经手动开好了无线调试并且你已经知道它的 IP 地址和端口。官方文档写得很清楚,网络连接的建立方式只有两种:要么先用数据线接一次电脑,让 scrcpy 自动帮你把网络连接配好;要么手动记下设备的 IP 地址,在设备还接着数据线的时候敲命令把它切到网络监听模式。
换句话说,设备一旦封装上墙之后才想起来第一次用无线连,大概率是连不上的——机柜都封了,上哪儿找 USB 口去做这次初始配置。所以调试计划里必须把"设备上墙封装之前,最后用一次 USB 连接、顺手把网络连接配好"这一步排进施工节点,不能等设备都装完了才想起来。
它是调试工具,不是运维方案——这条必须老实说
scrcpy 本身不带开机自动重连、不带断线自动恢复、不带多人权限管理、不带操作留痕,也不负责把画面录下来长期存档——这些都是正经"远程运维系统"该管的事,scrcpy 一件都不管。它的定位很单纯:你自己坐在电脑前,临时把某台设备的画面拉过来看一眼、点一点、传个文件、核对个配置,命令行窗口一关,连接也就断了,不留任何常驻的东西。
如果交付之后甲方提出"要能远程管理这些安卓设备"——设备在线状态、故障自动告警、内容批量推送这类需求——这不是 scrcpy 能扛住的活,得走专门的移动设备管理(MDM)方案,或者按项目实际情况另外规划运维链路。同样是"远程接管"思路的 RustDesk 也帮不上这个忙,它主攻的是 Windows 播控机的远程救火与批量运维,不是给安卓设备做长期无人值守用的。这条边界最好写进交付文档里明说清楚,别让甲方以为装了这个小工具就等于有了一套运维系统。
不装 App、不要 root——对甲方设备是实打实的合规优势
官方原文说得很干脆:不要求设备 root,连接过程中也不需要在设备上安装任何 App,用完之后设备上不会留下任何东西。这一条对展厅项目里的甲方设备是个很实在的加分项。
甲方 IT 部门最常问的一句话就是"你们要往我们的设备上装什么东西",用这个工具能直接答"设备那边什么都不用装,线一拔跟没发生过一样"。也因为不要求 root,就不会遇到"这台设备被厂商锁死了 root 权限、没法用"的窘境——市面上绝大多数出厂状态的安卓一体机、播放盒子本来就是不能 root 的,免掉这条要求,等于绝大多数正常设备都能直接拿来用,不用先跟甲方谈"能不能给我们 root 权限"这种通常谈不下来的事。
触摸一体机现场演示的两个小开关,值得记住
鼠标点击对应手指点触摸屏,右键返回、中键回主页,这几条映射记住了就能把它当遥控器用。另外有两个开关,在展厅场景里比想象中更实用:
一个是让设备显示物理触摸点的开关,官方本意是给做演示用的——打开之后,凡是手指真的碰到屏幕的位置都会显示一个点。跟客户过效果的时候打开它,客户能直接在屏上看到你点在哪儿,讲解会更直观。这个开关本身是安卓系统自带的一项开发者选项,scrcpy 只是帮你临时打开、退出时自动还原,不会遗留改动。
另一个是只保留控制、把设备的物理屏幕关掉的开关。挂在墙上被观众围观的一体机,如果你正在后台远程调试内容,不想让路过的观众看见屏幕上有人在乱点、画面来回跳,可以把设备这边的物理屏幕关掉——不影响你电脑这边照常看画面、照常操作,观众看到的只是设备屏幕暂时黑了一下。调试完手动开回来,或者直接关掉 scrcpy,屏幕状态也会恢复。
踩坑与排错清单
| 现象 | 原因 | 处置 |
|---|---|---|
| 报"找不到任何 ADB 设备" | 设备没打开 USB 调试,或者 Windows 没装对应的 USB 驱动 | 先用命令查一下设备是否被识别到;确认没识别到就去装设备厂商对应的 USB 驱动 |
| 设备一直不弹"是否允许 USB 调试"的授权框,或者点了确认还是报未授权 | 弹窗没有真的显示出来,或者确认没有生效 | 确认设备屏幕当时是亮着、能看见弹窗的状态(锁屏或休眠时弹窗不会显示);还是不行就换一根数据线或换一个 USB 口再试 |
| 鼠标点了没反应,报跟权限相关的错误(小米等品牌常见) | 差一个叫"USB 调试(安全设置)"的额外开关没打开 | 去开发者选项里单独找到这一项打开,打开后必须重启一次设备才生效 |
| 设备已经上墙封装,现在想改用无线连接却怎么都连不上 | 之前从没在有线状态下完成过网络连接的初始配置 | 这一步补不回来了,只能重新想办法接触到设备的 USB 口,或者依赖设备本身系统自带的无线调试入口(如果厂商保留了这个入口) |
| 中文或者一些特殊符号打不进去 | 默认的文字注入方式只认基本的英文字符 | 把控制方式切换成"模拟物理键盘"的模式,能打入的字符范围会大很多,具体切换参数遇到时查官方文档即可 |
| 换了一根数据线或者换了个 USB 口之后,连接突然自己断开 | 官方 FAQ 里明确记录过这是常见的 USB 连接层面兼容问题,不是软件本身的 bug | 换一根数据线,或者换到电脑的另一个 USB 口再试 |
| 用不需要 USB 调试的特殊控制模式时报"找不到任何 USB 设备" | Windows 上这个模式对驱动要求更严格,没装对就会报这个错 | 官方 FAQ 里给了对应的排查链接,这个模式展厅场景用得不多,遇到再按官方说明处理即可 |
什么时候别用它
甲方要求交付后能长期无人值守、自动重连、断线自动告警时。 前面已经说清楚了,这是运维系统该干的活,scrcpy 从设计上就不管这件事,硬要拿它凑这个需求,交付后大概率要返工。
设备出厂就把开发者选项和 USB 调试锁死不能开时。 一些过了安全合规审计的政企定制安卓设备,厂商在系统层面直接把这个入口拿掉了,技术上没有绕过去的办法。这条最好在售前阶段就跟甲方或设备厂商确认清楚,别等设备都进场了才发现根本开不了。
要给现场非技术人员一个"点一下就能连"的临时协助能力时。 scrcpy 是给懂命令行操作的实施人员自己用的工具,不是给对方一个链接、对方点一下就能被你接管的那种远控。这类临时协助场景,用图形界面的商业远控产品更合适。
要控制的是 iOS 设备时。 这软件从头到尾只认安卓系统,展厅里常见的 iPad 讲解终端、iOS 签到机,不在它的能力范围内,别浪费时间去试。
与本站的衔接
- Windows 播控机的远程救火与批量运维,看 RustDesk 这一篇——它跟本文讲的安卓设备现场调试是两个方向的活,别混用。
- 如果需求方向反过来,是要把电脑的画面推给别的设备看(而不是把安卓设备的画面拉过来),那是 Deskreen 干的事,跟本文正好相反。
- 远程运维在展厅交付里的整体思路,包括不同场景该选哪一类工具,可以从远程运维专题整体看一遍。
- 整套项目的方案与报价怎么组织,参考解决方案里的相关章节。
软件方案灵活,但要配套的可观测性
软件传输和扩展方案的可用性依赖网络状况和机器状态——而这两样恰恰是展厅里最容易悄悄变化的。
企服君的运维体系把网络连通性、机器负载、播放状态一起纳入监控,让这类链路断了能第一时间发现。集成商如果在项目里用了软件方案,见集成商年费方案。
出处
- scrcpy 官方仓库(Genymobile/scrcpy)README 与仓库简介:https://github.com/Genymobile/scrcpy
- GitHub API 仓库元数据(许可证、仓库状态):https://api.github.com/repos/Genymobile/scrcpy
- 官方文档 Windows 安装与运行说明:https://raw.githubusercontent.com/Genymobile/scrcpy/master/doc/windows.md
- 官方文档连接方式说明(USB 与 TCP/IP):https://raw.githubusercontent.com/Genymobile/scrcpy/master/doc/connection.md
- 官方文档 OTG 模式说明:https://raw.githubusercontent.com/Genymobile/scrcpy/master/doc/otg.md
- 官方文档设备端选项说明(屏幕开关、显示触摸点等):https://raw.githubusercontent.com/Genymobile/scrcpy/master/doc/device.md
- 官方 FAQ(常见连接与控制问题):https://raw.githubusercontent.com/Genymobile/scrcpy/master/FAQ.md
本文所述的软件行为、限制与操作步骤均来自上述官方材料;文中涉及的展厅工序判断属于工程经验总结,不同品牌设备的实际表现请以现场情况和设备厂商资料为准。
本文为公开资料整理,非亲测。关键参数与代码请结合实物与下列官方来源验证。
留言讨论
评论发布后会被人工复核,违规内容将被删除。
如果发表没有反应,可以前往联系我们告诉我们。