【开源软件】电脑端显示和控制手机神器:scrcpy简单使用
前言
如果你想在电脑上使用 Android 手机进行演示教学,除了使用 Genymotion、Parallels Desktop 等虚拟机软件来运行 Android 系统外,还有另一种便捷的方法:利用像 Vysor 这样的工具将手机屏幕投射到电脑上进行显示和控制。
然而,Vysor Pro 的收费较高,而免费版则可能会受到广告的干扰。幸运的是,我们发现了一款开源免费、功能类似的安卓手机屏幕画面投屏+控制工具:Scrcpy!
项目介绍
Scrcpy 是什么?
官方是这样介绍的:
Scrcpy 是一个开源的轻量高效功能强大的Android屏幕显示和控制工具,此应用通过 USB 或 TCP/IP 连接的 Android 设备(视频和音频),并允许使用计算机的键盘和鼠标控制设备。
它不需要任何root访问权限,适用于 GNU/Linux、Windows 和 macOS。,提供屏幕录制、文件传输等功能,适用于开发、演示和教学等场景。
看了上面的介绍,简而言之,就是可以让你在电脑上控制手机!它支持鼠标控制、键盘输入、电脑剪切板复制粘贴、拖放文件传输到手机、以及拖放 APK 文件进行安装。
项目地址:https://github.com/Genymobile/scrcpy
Scrcpy 实际的投屏效果非常理想,画面清晰流畅,基本无明显延迟,相比 Vysor 要付费后才能设置高码率,Scrcpy可以自定义视频码率这点显得十分良心。软件支持自动横屏,操作很灵敏,实用性非常的高。
Scrcpy 是一款命令行工具,没有图形界面,但这并不妨碍它成为一款出色好用的开源软件!其实它的使用也并不复杂。使用它你无需 ROOT 手机,也不需在手机上安装 APP,只需在系统设置里启用“USB调试”( adb 调试) 即可。连接电脑的方式可选 USB数据线连接或 ADB 无线 WiFi 连接。
使用方法
由于 scrcpy 软件功能很强大,本人并没有完全吃透,本文只是对基本使用方法进行阐述,满足日常使用,详细使用方法请移步官方介绍。本文主要以 HUAWEI MatePad 11
(HarmonyOS)进行示范操作。
准备工作
- 准备好 USB 数据线,安卓系统版本要求 5.0 以上(HarmonyOS也行);
- Scrcpy 需要使用 adb 驱动进行与电脑之间通讯,Windows 版的安装包里已经包含了 adb;
- 需要在手机端的系统设置里开启「开发者选项」及「USB 调试」选项。不同的手机开启方法不尽相同,找不到选项的话可以自行去搜索一下。
华为平板:将手机与电脑用 USB
连接, 连接方式选择传输文件,打开手机开发者模式(「设置 」==》「关于手机 」 ==》点击「版本号
」7次 ==》输入「锁屏密码」),设置内进入开发人员选项并打开USB调试功能;
Windows-有线连接
Windows 用户直接在软件发布页面下载软件包,并解压到任意路径,连接好数据线后,电脑上执行 scrcpy.exe
即可启动软件直接控制。首次连接时,手机上会问你是否允许它对设备进行调试,按下确认同意即可。
或者在解压后文件所在的文件夹地址栏输入 cmd
,然后在命令行输入 scrcpy
,即可成功投屏你的手机;
Tip:终端执行 adb devices
命令,可以看到你的被控设备,显示 device
则表示已连接,显示 offline
则离线;执行命令 adb usb
查看是否连接成功。
💡如果嫌每次从“在当前软件包目录地址栏中输入
cmd
回车打开”太麻烦,可以 配置系统环境变量 后,使用Win + R
输入cmd
回车进入终端窗口;
Windows-无线连接(需数据线)
Scrcpy 使用 adb 与 Android 设备通讯,而 adb 本身是支持无线连接的。因此除了 USB 数据线之外,我们也能无线使用。前提是需要保证手机和电脑处于同一局域网 (连接到相同的 WiFi 路由器),步骤如下:
step1:准备工作
首先还是要用数据线把手机和电脑连接起来(让电脑知道连接那台设备),然后在解压后文件所在的文件夹地址栏输入 cmd
进入终端。
step2:确保相同的 Wi-Fi 网络
确保你的电脑和手机在同一wifi下,查看手机IP信息(华为手机IP查看路径为:设置 ==》 关于手机 ==》状态信息 ==》IP地址
Tip:每个设备的IP地址查看方式有很多种
在命令行输入 ping 192.168.124.36
, (注:192.168.124.36需要替换为你的手机IP),若数据包发送成功,则说明在同一局域网下。
step3:切换模式
然后在「命令提示符」即终端中输入 adb tcpip <端口号>
命令回车,将设备从USB连接模式切换到Wi-Fi连接模式。
.\adb tcpip 5555 # 让设备在 5555 端口监听 TCP/IP 连接
如果看到上图中 restarting in TCP mode port: 5555
这样的提示,则表示启动成功。 手机的adbd程序会以WIFI模式重新启动,随后拔下手机;
step4:连接手机
接着通过 adb connect <IP地址><端口>
命令回车连接手机。
.\adb connect 192.168.124.36:5555
step5:启动投屏
最后终端输入 scrcpy
,或者直接双击 scrcpy.exe
,即可成功投屏你的设备。
说明:由于本文最早是基于笔记本和华为平板操作的,有的地方不是很完善。最近正好有空,就用手头的台式机和我的小米11重新连接操作了一下,完善了操作流程和效果演示。
如果 WiFi 较慢,可以调整码率:scrcpy -b 3M -m 800
,意思是限制 3 Mbps,画面分辨率限制 800,数值可以随意调整。
如需切换回 USB 模式,执行:adb usb
命令
macOS 连接手机
Mac 用户需要使用 HomeBrew 命令进行安装。其实 HomeBrew 的功能很实用,它可以帮助你非常简单地一键安装/卸载各种软件,包括 Scrcpy。
step1:安装 homebrew
通过命令行 (Terminal) 执行 ,如已安装可跳过
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
step2:安装 Scrcpy
(如果网络太慢,可以考虑更换 Homebrew 国内源或使用代理)
brew install scrcpy
step3:安装 ADB
如果你没有安装 ADB 命令行工具,那么也可以用 brew 来安装
brew cask install android-platform-tools
step4:启动投屏
使用 USB 数据线连接手机后,执行 scrcpy
命令即可启动软件。首次连接会在手机上问你是否允许它对设备进行调试,按下确认同意即可。
如果你有多台手机连接到电脑,可以执行 adb devices
查看每一台设备对应的ID,然后执行 scrcpy -s 设备ID
来连接使用指定的设备。
Tip:由于本人手里没有苹果电脑,演示略。
Linux 编译安装:
Linux 用户可以参考官网的说明自己编译安装。
常用命令
这些参数可以多个自由组合使用,注意区分大小写。
视频
默认情况下,scrcpy 会镜像设备屏幕。
默认情况下,scrcpy 会尝试以 Android 设备分辨率进行镜像。
功能 | Scrcpy 的命令参数 |
---|---|
限制画面分辨率 | scrcpy -m 1024 /scrcpy --max-size=1024 (比如限制为 1024) |
修改视频码率 | scrcpy -b 4M (默认 8Mbps,改成 4Mbps) |
音频
功能 | Scrcpy 的命令参数 |
---|---|
仅音频/视频 | scrcpy --no-video /scrcpy --no-audio |
同步传输声音 | 可借助USBaudio这个开源项目实现,但仅支持Linux系统 |
控制
默认情况下,右键单击触发器返回(或打开电源)和中键单击回到桌面。要禁用这些快捷方式并将点击转发到设备,请执行以下操作:
scrcpy --forward-all-clicks
要安装APK,请将APK文件(以)拖放到 scrcpy 窗口中。
功能 | Scrcpy 的命令参数 |
---|---|
裁剪画面 | scrcpy -c 1224:1440:0:0 表示分辨率 1224x1440 并且偏移坐标为 (0,0) |
显示触摸点击 | scrcpy -t 在演示或录制教程时,可在画面上对应显示出点击动作 |
文件传输默认路径 | scrcpy --push-target /你的/目录 将文件拖放到 scrcpy 可以传输文件 |
只读模式(仅显示不控制) | scrcpy -n /scrcpy --no-control |
设备
功能 | Scrcpy 的命令参数 |
---|---|
关闭设备屏幕 | scrcpy -S /scrcpy --turn-screen-off |
防止设备睡眠 | scrcpy -Sw /scrcpy --turn-screen-off --stay-awake |
显示触摸点击 | scrcpy -t /scrcpy --show-touches 在画面上对应显示出点击动作(通过手指在设备上) |
多设备切换 | scrcpy -s 设备ID (使用 adb devices 命令查看设备ID) |
窗口
功能 | Scrcpy 的命令参数 |
---|---|
设置窗口标题 | scrcpy --window-title '阿辉好棒!' |
位置和大小 | scrcpy --window-x=100 --window-y=100 --window-width=800 --window-height=600 |
无边框 | scrcpy --window-borderless |
窗口置顶 | scrcpy --always-on-top |
全屏显示 | scrcpy -f /scrcpy --fullscreen |
裁剪画面 | scrcpy -c 1224:1440:0:0 表示分辨率 1224x1440 并且偏移坐标为 (0,0) |
录制
功能 | Scrcpy 的命令参数 |
---|---|
屏幕录像 | scrcpy -r /scrcpy --record=file.mp4 |
屏幕录像 (禁用电脑显示) | scrcpy -Nr file.mkv /scrcpy --no-playback --record=file.mkv |
常用快捷键
成功连接之后,你就可以在电脑桌面上看到 Scrcpy 的投屏窗口和手机画面了,你可以直接用鼠标进行操作,它同时也有很多键盘快捷键可以使用。
操作 | 快捷键 |
---|---|
切换全屏模式 | MOD+F |
向左/右旋转显示 | MOD+←/MOD+→ |
将窗口大小调整为 1:1(完美像素) | MOD+G |
调整窗口大小以删除黑色边框 | MOD+W|双击左键 |
😁设备 HOME 键 |
MOD+H|鼠标中键 |
🤞设备 BACK 键 |
MOD+B|+ |鼠标右键单击 |
设备 任务管理 键 (切换APP) |
MOD+S |
点按 菜单 (解锁屏幕) |
MOD+M |
点按 音量+/- |
MOD+↑/ MOD+↓ |
设备 电源键 |
MOD+p |
点亮手机屏幕 | 鼠标右键单击 |
⭐关闭/打开设备屏幕 (但继续在电脑上显示) | MOD+o/MOD+shift+o |
旋转设备屏幕 | MOD+r |
展开/折叠通知面板 | MOD+n/MOD+shift+n |
😄复制到剪贴板 |
Ctrl+c |
😄剪切到剪贴板 |
Ctrl+x |
同步剪贴板和粘贴 |
Ctrl+v |
注入计算机剪贴板文本 | MOD+shift+v |
捏合缩放 |
Ctrl+点击移动 |
Tips:Super 键通常是指 Windows 或 Cmd 键; Mod键一般指的是 Ctrl 键.
常见问题
不了解MOD键:
MOD 是快捷键的修饰键。默认是 (左) Alt 或 (左) Super。
它可以使用命令 --shortcut-mod 来修改。可选的按键有 lctrl、rctrl、lalt、ralt、lsuper和 rsuper。例如:
使用右 Ctrl 键
scrcpy --shortcut-mod=rctrl
使用左 Ctrl 键 + 左 Alt 键,或 Super 键
scrcpy --shortcut-mod=lctrl+lalt,lsuper
投屏不清晰问题
找到 scrcpy.exe
右键 > 属性 > 兼容性 > 更改高DPI设置 > 勾选替代高DPI缩放行为 > 确定应用即可;
连接手机只能显示无法触控
原因是你的手机安全设置屏蔽掉了usb传入的触控,解决方法:只需要在终端使用 adb 执行以下命令即可:
adb shell pm grant (pkgname) android.permission.WRITE_SECURE_SETTINGS
总结
Scrcpy 是一款功能强大的跨平台工具,它允许用户在电脑上直接控制手机,极大地提升了工作效率和便利性。无论是进行应用测试、游戏娱乐,还是处理需要在手机上完成的复杂任务,Scrcpy 都能提供高效的解决方案,可谓是妥妥的神器!它的多场景应用能力,使得无论是开发者还是普通用户,都能从中获得实质性的帮助。
此外,Scrcpy 的开源免费特性,加上其独立易用的程序设计,使其成为大众的理想选择。支持屏幕录像和截屏的功能,进一步增强了其实用性。对于经常需要在电脑上操作手机的用户来说,Scrcpy 无疑是一个不可或缺的高效工具,非常值得推荐。
参考链接
- 感谢你赐予我前进的力量