【开源项目】QtScrcpy:scrcpy 的现代化图形化升级方案
本文最后更新于 2024-06-22,文章内容可能已经过时。
介绍
QtScrcpy 是一款基于 Scrcpy 开源项目重构的用电脑控制 Android 手机的增强版软件,旨在为用户提供现代化且易于使用的 Android 设备控制解决方案。
QtScrcpy 可以通过 USB / 网络连接Android设备,并进行显示和控制。无需root权限。
同时支持 GNU/Linux ,Windows 和 MacOS 三大主流桌面平台。



项目地址:https://github.com/barry-ran/QtScrcpy/tree/dev
功能
- 实时显示 Android 设备屏幕
 - 实时键鼠控制Android设备
 - 屏幕录制、截图
 - 无线连接
 - 多设备连接与批量操作
 - 全屏显示、窗口置顶
 - 安装 apk:拖拽apk到显示窗口即可安装
 - 传输文件:拖拽文件到显示窗口即可发送文件到 Android 设备
 - 后台录制:只录制屏幕,不显示界面
 - 剪贴板同步: 在计算机和设备之间同步剪贴板:
Ctrl + c将设备剪贴板复制到计算机剪贴板;Ctrl + Shift + v将计算机剪贴板复制到设备剪贴板;Ctrl + v将计算机剪贴板作为一系列文本事件发送到设备(不支持非ASCII字符)
 - 同步设备扬声器声音到电脑(基于sndcpy,仅支持安卓10级以上,目前不推荐使用,可使用蓝牙连接替代)
 
自定义按键映射
可以根据需要,自己编写脚本将键盘按键映射为手机的触摸点击,编写规则在这里。
默认自带了针对和平精英手游和抖音进行键鼠映射的映射脚本,开启平精英手游后可以用键鼠像玩端游一样玩和平精英手游,开启抖音映射以后可以使用上下左右方向键模拟上下左右滑动。

自定义按键映射操作方法如下:
- 编写自定义脚本放入 keymap 目录
 - 点击刷新脚本,确保脚本可以被检测到
 - 选择需要的脚本
 - 连接手机并启动服务之后,点击应用脚本
 - 按
~(即脚本中定义的 SwitchKey)键切换为自定义映射模式即可启用 - 再次按~键切换为正常控制模式
 - (对于和平精英等游戏)若想使用方向盘控制载具,记得在载具设置中设置为单摇杆模式
 
批量操作

Scrcpy 与 QtScrcpy 区别
QtScrcpy 和 Scrcpy 区别如下:
| 关键点 | scrcpy | QtScrcpy | 
|---|---|---|
| 界面 | sdl | qt | 
| 视频解码 | ffmpeg | ffmpeg | 
| 视频渲染 | sdl | opengl | 
| 跨平台基础设施 | 自己封装 | Qt | 
| 编程语言 | C | C++ | 
| 编程方式 | 同步 | 异步 | 
| 按键映射 | 不支持自定义 | 支持自定义按键映射 | 
| 编译方式 | Meson+Gradle | CMake | 
使用 QtScrcpy
准备工作
- 
Android 部分至少需要 API 21(Android 5.0)。
 - 
您要确保在 Android 设备上启用adb调试。
 
软件下载
以直接使用作者编译好的可执行程序,或者自己编译运行。
对于 Arch Linux 用户,可以使用 AUR 安装:yay -Syu qtscrcpy(可能版本并非最新;维护者:yochananmarqos),其他发行版的用户可以直接使用我编译好的可执行程序:
Tip:对于Linux,目前只在 Ubuntu 和 Arch Linux 上测试过编译过程。
运行
在你的电脑上接入Android设备,然后运行程序,点击 一键USB连接 或者 一键WIFI连接。
无线连接步骤
- 将手机和电脑连接到同一局域网
 - 安卓手机端在开发者选项中打开 USB 调试,通过 USB 连接安卓手机到电脑
 - 点击刷新设备,会看到有设备号更新出来
 - 点击获取设备 IP
 - 点击启动 
adbd - 无线连接
 - 再次点击刷新设备,发现多出了一个 IP 地址开头的设备,选择这个设备
 - 启动服务
 
Tip:启动 adbd 以后无需继续连接 USB 线,以后连接断开都不再需要,除非 adbd 停止运行
默认连接后,设备扬声器声音没有同步到电脑,需要打开手机的USB安装,之后点击软件界面的sndcpy,之后在手机选择允许即可安装安装到手机,最后播放手机视频,电脑就能听见声音了。


下图是连接多台设备的效果图。


快捷键
| 功能 | 快捷键(Windows) | 快捷键 (macOS) | 
|---|---|---|
| 切换全屏 | Ctrl+f | 
Cmd+f | 
| 调整窗口大小为 1:1 | Ctrl+g | 
Cmd+g | 
| 调整窗口大小去除黑边 | Ctrl+w | 左键双击 | 
Cmd+w | 左键双击 | 
点击 主页 | 
Ctrl+h | 点击鼠标中键 | 
Ctrl+h | 点击鼠标中键 | 
点击 BACK | 
Ctrl+b | 右键双击 | 
Cmd+b | 右键双击 | 
点击 APP_SWITCH | 
Ctrl+s | 
Cmd+s | 
点击 MENU | 
Ctrl+m | 
Ctrl+m | 
点击 VOLUME_UP | 
Ctrl+↑ (上) | 
Cmd+↑ (上) | 
点击 VOLUME_DOWN | 
Ctrl+↓ (下) | 
Cmd+↓ (下) | 
点击 POWER | 
Ctrl+p | 
Cmd+p | 
| 打开电源 | 右键双击 | 右键双击 | 
| 关闭屏幕 (保持投屏) | Ctrl+o | 
Cmd+o | 
| 打开下拉菜单 | Ctrl+n | 
Cmd+n | 
| 关闭下拉菜单 | Ctrl+Shift+n | 
Cmd+Shift+n | 
| 复制到剪切板 | Ctrl+c | 
Cmd+c | 
| 剪切到剪切板 | Ctrl+x | 
Cmd+x | 
| 同步剪切板并粘贴 | Ctrl+v | 
Cmd+v | 
| 注入电脑剪切板文本 | Ctrl+Shift+v | 
Cmd+Shift+v | 
鼠标左键双击黑色区域可以去除黑色区域
如果电源关闭,鼠标右键双击打开电源;如果电源开启,鼠标右键双击相当于返回
总结
QtScrcpy 利用 Qt 框架的图形用户界面,为 Scrcpy 添加了直观且功能强大的界面。这使得用户无需深入学习命令行参数,即可轻松连接并管理他们的 Android 设备。QtScrcpy 不仅保留了原始 Scrcpy 的高效性和低延迟的优势,还提供了额外的用户友好功能,如分辨率调整、屏幕旋转、文件传输等,使其成为 Android 用户和开发者的理想选择。
此外,QtScrcpy 的开源性质使得它能够通过社区的贡献不断改进和增强功能。从而适应更多的使用场景和需求。总而言之,QtScrcpy 是一个使得控制和管理 Android 设备变得更加简单和高效的工具,为用户带来了全新的使用体验和便利。
- 感谢你赐予我前进的力量
                                
                                
                                    
 
            
        
