scrcpy+adb调试实现局域网手机无线投屏+电脑操控手机
如果你和我一样, 有一个朋友喜欢玩R6, 结果因为R6和某四个字的游戏联动了, 从而不小心玩上了粥, 但是又不喜欢触屏操作, 所以想找一种干净的, 开源的方案, 用最小成本, 最赛博洁癖的方式实现手机投屏+电脑操控的话, 那么本文对你有帮助.
摘要
scrcpy是一个开源的, 基于adb的手机到电脑上的投屏+操控的实现. 使用Windows去控制安卓手机.
为了实现投屏, 你需要
- 手机和电脑在一个局域网下面 (如果你有办法做隧道或者能给手机映射一个公网ip的话理论上也可以离得很远去控制)
- 手机上开启无线调试或者usb调试 (不需要安装任何软件)
- 电脑上解压scrcpy即可 (没有安装步骤, 解压后即可)
- 按照步骤操作, 进行投屏或操控. (我没有电脑上的触摸屏幕, 无法测试电脑端是否可以多点触控的控制支持)
快速上手
我是懂哥, 不是小白, 少罗嗦!
首次使用:
- 下载: 去GitHub下载scrcpy: Release scrcpy v2.4 · Genymobile/scrcpy 然后解压到一个目录.
- 开启功能: 开启手机上的adb无线调试功能.
- 配对: 在scrcpy目录下使用PowerShell运行
adb pair ip:port与手机配对 - 连接: 继续用PowerShell运行
adb connect ip:port连接到手机. 注意两个ip:port不是一样的. - 启动: 用PowerShell运行
./scrcpy.exe启动连接. - 为了方便, 记得关闭手机上的adb授权超时, 以及可以设置控制栏的无线调试功能快捷开关, 方便查询每次变化的ip和端口.
- 如果需要旋屏, 请确保屏幕方向锁定被关闭, 然后旋转手机.
- 需要更低画面延迟, 请使用usb调试代替无线调试, 你都是懂哥了, 肯定会联网查方法对吧?
- 退出时: 直接关闭控制画面, 然后在PowerShell内运行
adb disconnect关闭adb调试的无线远程连接. - 关闭手机上的无线调试功能. 非必须, 但是建议关闭.
后续使用:
- 无需配对, 直接连接并启动远程控制.
- 注意ip:port可能会重新随机生成
- 退出时: 直接关闭控制画面, 然后在PowerShell内运行
adb disconnect关闭adb调试的无线远程连接. - 关闭手机上的无线调试功能. 非必须, 但是建议关闭.
如果没看明白, 那么继续阅读详细说明.
1. 下载
只需要在Windows计算机上下载scrcpy即可.
github.comgithub.com/Genymobile/scrcpy
或者从这里直接下载发行包
Release scrcpy v2.4 · Genymobile/scrcpy · GitHubgithub.com/Genymobile/scrcpy/releases/tag/v2.4
到最下面选择最新版的单机下载即可

然后找个地方解压了. 解压之后进去, 你会看见这些文件. 这包括了adb工具和scrcpy.

2. 使用
如果你是Windows11, 那么直接在这个文件夹下右键, 在此处打开Windows termenal终端.

如果你是Windows10或之前的Windows系统, 那么按住键盘上的shift, 然后在这个文件夹下右键, 在此处打开Windows termenal终端.

之后, 先把这个窗口晾着, 现在要去手机操控.
在你的手机上, 首先激活开发者模式, 不同版本手机方式不一样, 请自行网上搜索方法.
然后, 在开发者模式内, 确保下面的开关是使能的.

usb调试安全设置的作用是为了远程模拟触摸操作. 而停用授权超时则是为了避免每星期都需要重新配对一次设备.
然后, 你此时有两个选择:
- 无线连接(更高的画面延迟, 玩保卫萝卜的话问题不大)
- usb延迟: 更好的体验
3. 无线连接
使用无线连接的话, 需要在开发者选项内打开无线调试功能,
ps: 小米的话, 可以设置个下拉菜单的快捷方式, 方便随时开启关闭. 这个功能最好不要一直开着.

然后, 第一次连接的话, 首先开启无线调试, 然后点击使用配对码配对设备

弹出提示后, 看清楚这里, 不要关闭这个页面

然后, 回到电脑上, 刚才打开的PowerShell窗口, 输入
adb pair ip:prot # 替换为你看见的ip地址和端口
比如对于上面这个例子, 为
adb pair 192.168.1.31:44905
回车, 你会在PowerShell界面内被要求提供配对码, 现在输入手机弹出的提示码. 比如上面的例子是 `453465` .
然后正常的话, 会提示配对成功.
接下来, 使用命令进行连接
adb connect ip:port
注意此处的ip和端口不是配对使用的, 而是页面提示的

而这个ip:port可能会不时变化, 所以你需要每次连接时都查看一下.
连接上的提示如下
PS A:/path/to/scrcpy> adb connect 192.168.1.31:34403
connected to 192.168.1.31:34403
之后, 输入
.\scrcpy.exe
应该就能连接上了.
此时, 你可以在计算机上看见手机的画面, 并使用鼠标和键盘操控或输入字符 (中文输入法无法直接输入到手机). 即使手机锁屏也不影响你在电脑上狂点一通鼠标来唤醒手机的锁屏界面.


如果需要横屏的话, 打开一个可以横屏的软件, 然后让手机横过来, 电脑上会自动跟着横屏.

如果你需要强制在任何情况下横屏, 那么你可以找一下这个软件: 终极万能旋屏控制, 可以强制任何软件随便旋转屏幕 (包括桌面)

4. 退出
直接关闭远程界面, 然后在刚才的PowerShell内键入:
adb disconnect
看到这个提示可以证明你确实已经关闭了到手机的连接
PS A:/path/to/scrcpy> adb disconnect
disconnected everything
然后为了安全起见, 再关闭手机上的无线调试功能.
如果你只是在家用, 那么其实也可以一直开着.
5. 后面使用
如果adb授权没有过期或者没有清空, 那么后续的连接不需要配队的步骤, 直接 adb connect 即可.
6. 我想使用usb调试代替无线调试
一些场景可能无线连接延迟太高, 不稳定, 那么可以考虑usb调试连接, 对于安卓版本过低的情况, 可能不支持无线调试, 那么也不得不如此连接了.
将无线adb连接更换为usb的adb调试连接即可.
可以自行网上查阅资料. 只要usb连接上, 后面的操作和WiFi版本的操作是一模一样的的.
2024年3月16日
