用 QtScrcpy 在电脑上显示与控制安卓:连接、键鼠映射与组控指南
【免费下载链接】QtScrcpyAndroid real-time display control software项目地址: https://gitcode.com/GitHub_Trending/qt/QtScrcpy
QtScrcpy 是一款基于 Qt 框架的开源安卓投屏与控制工具,通过 USB 或局域网实时显示手机画面并进行操作,无需 root,也不会往手机里安装任何东西。支持 Windows、macOS、Linux 三个平台,手机端要求 Android 5.0 及以上。适合想在电脑大屏上玩手游、同时操作多部手机、或做应用测试的人。
开启安卓 USB 调试:投屏前唯一的手动设置
先在手机上确认两点:
- 系统版本为 Android 5.0(API 21)及以上;
- 进入"设置 - 关于手机",连续点击"版本号"7 次打开开发者模式,再在开发者选项里开启"USB 调试"。
Windows 下如果插上数据线后"刷新设备"列表为空,通常是驱动问题:先用任意手机助手软件连接成功一次,再回到 QtScrcpy 刷新即可。Linux 与 macOS 下操作与 Windows 一致。
想从源码构建的话,执行git clone --recurse-submodules https://gitcode.com/GitHub_Trending/qt/QtScrcpy,需要 Qt 5.12 以上版本和 CMake;普通用户直接下载预编译包更省事。
建立 USB 或 WiFi 连接
USB 方式步骤最少:数据线连接,点击"刷新设备"选中设备,再点"启动服务"。首帧画面约 1 秒出现,之后可达 30~60 fps、1920×1080 分辨率,端到端延迟约 35~70ms。
WiFi 方式需要一次性配置(手机与电脑在同一局域网):先 USB 连一次,在界面上"获取设备 IP"→"启动 adbd"→"无线连接"→"刷新设备",会出现一个带 IP 的设备,选中它再"启动服务"。配置完成后 USB 线就不再需要了。
Start Config 里还可以设置录制码率、最大分辨率(最高 1080)、背景录制、窗口置顶等,这些在服务启动前生效。
获取屏幕点击坐标的两种方法
键鼠映射全部使用相对坐标:屏幕宽高都表示为 1,以左上角为原点,(0.5, 0.5) 就是屏幕中心。拿到精确坐标有两种办法:
- 在开发者选项中打开"显示指针位置",用手指点屏幕直接看坐标;
- 投屏模式下用鼠标左键点一下画面,控制台会直接输出该点的 pos 值,照抄即可。
坐标体系与字段的完整说明见 docs/KeyMapDes.md。
编写键鼠映射,用键鼠玩手游
软件自带一套默认映射脚本(和平精英、TikTok 等),书写格式可参考 keymap/ 目录下的文件,照着自己玩的游戏写一份即可。每份脚本都有一个 switchKey(默认是 ~ 键):连接并启动服务后按 ~ 进入自定义映射,再按一次切回普通模式。
最小示例:按 W 键模拟一次手指点击,位置在相对坐标 (0.16, 0.75):
{ "switchKey": "Key_QuoteLeft", "keyMapNodes": [ { "type": "KMT_CLICK", "key": "Key_W", "pos": { "x": 0.16, "y": 0.75 } } ] }类型除单击 KMT_CLICK 外,还有双击、多点连击、拖动 KMT_DRAG 和方向盘 KMT_STEER_WHEEL(FPS 移动专用)。FPS 游戏可额外配置 mouseMoveMap,把鼠标移动映射为以固定点为起点的手指拖动,用来调整视角,并可指定一个"小眼睛"键切换到低灵敏度微调。
一个已知限制:和平精英上下车时会创建新界面,导致原触摸点失效,连续按两次 ~ 可以恢复;开车操作建议把移动模式设为"单摇杆模式"。
批量控制多台设备:组控
QtScrcpy 支持同时连接多台设备、分窗显示,组控功能可以把同一套输入操作同步到所有已连接设备,一副键鼠同时操作全部手机。常见场景是游戏多开、批量测试和同步演示。
顺带几个常用功能:录屏(码率、格式、保存路径可配,支持不显示窗口的后台录制)、PNG 截图、拖拽 apk 到视频窗口安装、拖文件发送到手机、剪贴板双向同步(Android 7 及以上)。
排查三个最常见的故障
- ADB 版本冲突(提示
adb server version doesn't match):在任务管理器里结束 adb 进程;若与其他软件长期冲突,把 config.ini 里的 AdbPath 指到你正在用的那个 adb。 - 有画面但控制不了:小米等机型需要额外在 USB 调试里打开"模拟点击"权限。
- 画面不清晰:Windows 上右键 QtScrcpy.exe,在兼容性高 DPI 设置里把缩放改为"由应用程序执行";窗口远小于设备屏幕也会发虚。
另外,Could not open video stream一般换成较低分辨率就能解决;shader program is not linked说明显卡不支持当前渲染方式,把 config.ini 里的解码方式改成 1 或 2 试试。更多案例整理在 docs/FAQ.md。
开始之前建议:
- 先用 USB 跑通投屏流程,再切换 WiFi
- 写映射时直接取控制台输出的 pos 值,避免换算错误
- 连接报错提示 more than one device 时,把 Start Config 里的"反向连接"取消勾选
- 出现异常先看控制台打印的错误日志,多数问题 FAQ 里都有对应解法
【免费下载链接】QtScrcpyAndroid real-time display control software项目地址: https://gitcode.com/GitHub_Trending/qt/QtScrcpy
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考