scrcpy 就是通过 adb 调试的方式来将手机屏幕投到电脑上,并可以通过电脑控制您的 Android 设备。它可以通过 USB 连接,也可以通过 Wifi 连接(类似于隔空投屏),而且不需要任何 root 权限,不需要在手机里安装任何程序。scrcpy 同时适用于 GNU / Linux,Windows 和 macOS。
它的一些特性:
- 亮度(原生,仅显示设备屏幕)
- 性能(30~60fps)
- 质量(1920×1080 或以上)
- 低延迟(35~70ms)
- 启动时间短(显示第一张图像约 1 秒)
- 非侵入性(设备上没有安装任何东西)
此项目为开源项目,Github 地址:Genymobile/scrcpy: Display and control your Android device
使用 scrcpy 的要求
adb 调试的开启一般是多次点击手机系统版本,如我用的是 MIUI10,开启方法是 “设置”->” 我的设备”->” 全部参数”-> 点击 7 下 MIUI 版本,开启 “开发者选项”。然后在 “设置”->” 更多设置”->” 开发者选项” 中同时开启 USB调试
和 USB调试(安全设置)
。
注意:USB调试(安全设置)
必须开启,否则不可以使用电脑控制手机,即上述要求的第三条。
使用电脑连接手机
在 Android 手机中打开了 USB 调试后,我们即可在电脑中使用 adb 进行调试。
我使用的是 Windows10 系统,以下以 Windows 为例,MacOS 或 Linux 请点击这里。
程序使用了 Java 语言,我们需要在电脑中搭建 Java 运行环境,参考:Windows10 配置 Java 开发环境
首先下载 scrcpy,可去 releases
下载最新版本,目前最新版本为 2020-04-30 的 v1.13
。
地址:https://github.com/Genymobile/scrcpy/releases
解压后的目录:
打开 cmd 定位到此目录(在地址栏中输入 cmd
回车),或者将该目录如 D:\Github_Run\scrcpy-win64-v1.10
加入到系统环境变量中,程序的使用都在 cmd 命令行中操作。
使用 USB 进行连接
此方式推荐使用,相对更加流畅。
- 手机通过 USB 连接到 PC 上,首次连接会弹出是否信任该电脑,点击始终信任即可。
- 运行
adb usb
查看是否连接成功
1 |
D:\Github_Run\scrcpy-win64-v1.10>adb usb |
- 运行
scrcpy
即可。
使用无线连接
可参考官方文档:Open Source Project - Scrcpy now works wirelessly
此连接方式更加方便快捷,若宽带速率高,使用效果更佳,使用方法也非常简单。
- 确保 PC 和手机在同一 Wifi 中
- 手机先通过 USB 与 PC 相连
- 在 PC 上运行 adb tcpip 服务端口,如端口为 5555
复制1
2D:\Github_Run\scrcpy-win64-v1.10>adb tcpip 5555
restarting in TCP mode port: 5555 - 拔下你的设备,断开 USB 连接
- 在 PC 上运行 adb connect 手机 IP: 服务端口(手机 IP 可通过手机的
状态信息
查看,或者登录路由器查看,一般以 192.168 开头)
复制1
2D:\Github_Run\scrcpy-win64-v1.10>adb connect 192.168.0.4:5555
connected to 192.168.0.4:5555 - 运行 scrcpy,在 cmd 中输入
scrcpy.exe
这样弹出手机的屏幕,手机投屏成功!正如预期的那样,性能与 USB 不同,默认的 scrcpy 比特率是 8Mbps,这对于 Wi-Fi 连接来说可能太多了。根据使用情况,降低比特率和分辨率可能是一个很好的折中方案。
1 |
scrcpy --bit-rate 2M --max-size 800 |
若要切换回 USB 模式:adb usb
常用快捷键(重要)
描述 | 快捷键 |
---|---|
切换全屏模式 | Ctrl+f |
点击手机电源 | Ctrl+p |
返回 | Ctrl+b |
返回到 HOME | Ctrl+h |
多任务 | Ctrl+s |
更多操作 | 长按鼠标左键 |
显示最佳窗口 | Ctrl+g |
调节音量 | Ctrl + 上下键 |
关闭设备屏幕(保持镜像) | Ctrl+o |
将设备剪贴板复制到计算机 | Ctrl+c |
将计算机剪贴板粘贴到设备 | Ctrl+v |
Tips:查看已连接设备命令 adb devices
,显示 device
则表示已连接,显示 offline
则离线:
1 |
D:\Github_Run\scrcpy-win64-v1.10>adb devices |
使用命令行选项在启动时镜像时可以关闭设备屏幕,这一点也挺实用:
1 |
scrcpy --turn-screen-off |
这样我们就使用了两种方式(USB 连接和 Wifi 连接)使用 scrcpy,其它方法详见:README 如可直接拖拽 APK 进行安装,手机录屏等