QtScrcpy:不装 App 就能投屏控手机的跨平台工具,5 分钟跑通
【免费下载链接】QtScrcpyAndroid real-time display control software项目地址: https://gitcode.com/GitHub_Trending/qt/QtScrcpy
QtScrcpy 是一款基于 scrcpy 技术的跨平台工具:把 Android 手机屏幕实时投屏到电脑,再用键盘鼠标远程操控。设备端不装任何 App、无需 root,Windows、macOS、Linux 三个系统都能跑。跟着本文走完,你就能连上自己的手机,开始用鼠标操作手机画面。
它到底能做什么
- 实时投屏:30~60fps 刷新,延迟 35~70ms
- 远程操控:鼠标左键点按、拖动、滚轮滑动,键盘输入
- 多设备连接:多台 Android 设备同时接入,支持分组批量控制
- 后台录制:不显示画面只录屏,省资源
- 拖拽即传:文件拖到画面窗口推到手机,apk 拖过去直接安装
要求:设备为 Android 5.0(API 21)及以上,且已开启 USB 调试。
跑起来:从克隆到看见第一帧
把仓库克隆到本地(--recurse-submodules 会顺带拉取 scrcpy-server 依赖):
git clone --recurse-submodules https://gitcode.com/GitHub_Trending/qt/QtScrcpy确认目录里出现CMakeLists.txt和QtScrcpy/子目录,说明拉取完整。
准备编译环境(Qt 5.12 以上):Windows 用 Qt 官方安装器装 Qt 5.12+ 并选 MSVC 2019;Ubuntu 用系统源装qt5-base、qt5-multimedia、qt5-x11extras和 cmake;macOS 用 Homebrew 装 Qt。
Linux 上直接执行项目自带的构建脚本:
./ci/linux/build_for_linux.sh "Release"Windows 上改用 Qt Creator 打开根目录的CMakeLists.txt,构建 Release 版本即可。编译产物在output/x64/Release里,确认目录中出现可执行程序就算成功。
运行可执行文件,看到设备列表区域和"启动服务"按钮,主界面就跑起来了。
连上设备:USB 和无线两条路
USB 连接怎么配
- 手机"设置 → 关于手机",连点"版本号"7 次,出现"您已处于开发者模式"
- 回到"开发者选项",打开"USB 调试"(小米等机型还需打开"USB 调试(安全设置)",否则点不了屏幕)
- 数据线插电脑,手机弹出"允许 USB 调试吗"时,勾选"始终允许使用此计算机",点确定
- 回到程序界面点"刷新设备",看到设备号后点"一键USB连接",1 秒内出现手机第一帧画面
无线连接怎么配
USB 连上之后,在程序里点"获取设备IP",再点"启动adbd",把设备的无线调试服务拉起来。手机和电脑接入同一 WiFi,拔掉数据线,点"无线连接",然后刷新设备列表——会多出一个 IP 开头的设备号,那就是无线通道。此后直到 adbd 停止运行,都不用再插线。
⚠️ 无线走 ADB 的 5037 端口,如果连不上先检查防火墙有没有拦这个端口。
卡住了怎么办:4 个高频问题
刷新设备列表是空的
现象:线插好了,列表里没有设备。先跑一条命令确认驱动状态:
adb devices有设备输出说明驱动正常,多半是授权问题:回手机看有没有漏掉的授权弹窗,重新插拔一次再确认;程序报 adb 版本冲突时,把config/config.ini里的AdbPath=指到你正在用的 adb。
adb devices 显示 unauthorized
现象:设备状态是 unauthorized,连不上。重启一下 ADB 服务:
adb kill-server && adb start-server再刷新设备列表;仍是 unauthorized,就到"开发者选项"里点"重新发送 USB 调试授权请求",弹窗里勾选"始终允许"。
能看到画面,但鼠标点了没反应
现象:投屏正常、点击无效,说明设备端不允许模拟点击。处理动作:进"开发者选项",打开"USB 调试(安全设置)"(小米叫"允许通过 USB 调试模拟点击"),然后重启服务。
控制台报 adb 版本不匹配
现象:日志出现 "adb server version doesn't match this client"。处理动作:任务管理器里结束所有 adb 进程再重试,详见 docs/FAQ.md。
让效率再拉高一档
按键映射:键盘鼠标玩手游
把 JSON 映射文件放进keymap/目录(项目自带和平精英、抖音两套)。界面里选中脚本点"刷新脚本",连上设备后点"应用脚本",在游戏画面按~键进入映射模式,键鼠即可像端游一样操作,再按一次~退出。映射文件坐标是相对值(屏幕宽高各记为 1),左键单击后控制台会打印当前 pos,照着填就能定位按键位置。
多设备同步操作
多台设备连接后启用分组控制:在一个窗口里操作,所有设备同步执行同一步骤,批量验证流程不用一台台点。
传输参数调优
主界面"启动配置"区可调分辨率和比特率:无线连接建议 720p + 2~4Mbps,USB 可试 1080p。报 "Could not open video stream" 时先把分辨率调低。另外config/config.ini里的UseDesktopOpenGL控制解码方式(-1 自动 / 0 软解 / 1 dx 硬解 / 2 opengl 硬解),控制台出现 "shader program is not linked" 就改成 1 或 2。
典型用法
测试工程师 — 批量兼容性验证:多台设备接入 → 分组控制同步走一遍相同测试流程 → 把待测 apk 拖进各画面窗口安装并录制。
手游玩家 — 大屏玩手游:应用和平精英映射脚本 → 按~进入映射模式键鼠操作 →Ctrl+f全屏沉浸。
讲师 — 课堂演示:无线连接演示机(不占桌面线材)→Ctrl+n下拉通知栏演示操作步骤 → 用后台录制把过程录下来分发。
别踩这几个坑
- 错过手机上的授权弹窗,怎么都连不上 → 拔线重插让弹窗重新出现,务必勾"始终允许"
- 分辨率、比特率拉到最高,结果画面卡顿 → 按通道取值:无线 720p + 2Mbps,USB 1080p + 4Mbps
- 多设备全开高画质,电脑 CPU 被打满 → 单台降到 540p,减少同时投屏数量
- 想在手机上输中文却打不出来 → 手机端装搜狗/QQ 输入法,电脑键盘的中文输入法不生效
收尾
到这里,连接、投屏、操控、批量操作这条链路已经完整了。下一步建议读 docs/KeyMapDes_zh.md 里的映射文件格式说明,按自己常玩的游戏写一份键位映射;对实现感兴趣的,docs/DEVELOP.md 讲了客户端与服务端的架构,值得过一遍。
【免费下载链接】QtScrcpyAndroid real-time display control software项目地址: https://gitcode.com/GitHub_Trending/qt/QtScrcpy
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考