使用Scrcpy 在电脑显示手机画面并控制安卓设备
使用Scrcpy 显示手机画面并控制手机
原文(有删改):https://www.iplaysoft.com/scrcpy.html
背景
本文适用于安卓开发人员,不针对普通安卓手机用户。
在安卓开发调试中,有时候需要操作到设备。但有些设备的屏幕又比较特殊,例如缺少触摸屏,或者屏幕显示效果很奇怪。因此需要使用到一些关于投屏工具。
例如: Vysor。
可惜 Vysor Pro 收费较贵,免费版广告又多。而Scrcpy
就是一个比较好的开源替代品。
特性:
- 屏幕画面投屏 + 控制软件
- 跨平台支持 Win、Mac、Linux
- 支持USB 数据线 (或WiFi) 连接电脑
Scrcpy
Scrcpy 可以视为开源免费版的 Vysor 替代品,可以将安卓手机的画面投屏到电脑桌面显示上并进行操控。
简单地说,就是可以让你在电脑上控制手机!它支持鼠标控制、键盘输入、电脑剪切板复制粘贴、拖放文件传输到手机、以及拖放 APK 文件进行安装。
Scrcpy 实际的投屏效果非常理想,画面清晰流畅,基本无明显延迟,相比 Vysor 要付费后才能设置高码率,Scrcpy 可以自定义视频码率这点显得十分良心。软件支持自动横屏,操作很灵敏,实用性非常的高。
你可以方便地利用 Scrcpy 来测试 APP 应用、玩游戏、高效完成一些需要在手机上进行的复杂工作、更高效地办公;也能更方便地进行 Android 屏幕录像、截屏;甚至还能方便你上班时摸鱼划水。应用场景非常多,无论是开发者还是普通个人用户都相当的实用。
教程
Scrcpy 是一款命令行工具,没有图形界面,但这并不妨碍它成为一款出色好用的开源软件!其实它的使用也并不复杂。
GUI增强
作为一款如此出色实用的开源软件,却因为命令行的操作方式,使得它有不小的使用难度,让很多同学无法享受到它的便利,实在是遗憾。
为了解决命令行日常操作不便的问题,有热心的开发者实现了对应的GUI。
- QtScrcpy : https://gitee.com/Barryda/QtScrcpy/releases
- Scrcpy-GUI : https://github.com/Tomotoes/scrcpy-gui/releases
建议使用 Scrcpy-GUI
。
使用 Scrcpy 你无需 ROOT 手机,也不需在手机上安装 APP,只需在系统设置里启用“USB调试”( adb 调试) 即可。
连接电脑的方式可选 USB 数据线连接或 ADB 无线 WiFi 连接。
下面我们给大家提供一个 Scrcpy 的简单使用教程。
准备工作
- 准备好 USB 数据线,安卓系统版本要求 5.0 以上
- Scrcpy 需要使用 adb 驱动进行与电脑之间通讯,Windows 版的安装包里似乎已经包含了 adb。你也可以手动从下载这个 ADB 命令行工具进行安装。
- 需要在手机端的系统设置里开启「开发者选项」及「USB 调试」选项。不同的手机开启方法不尽相同,找不到选项的话可以自行去搜索一下。
Windows 平台
Windows 用户直接下载并安装,连接好数据线后,电脑上执行 scrcpy.exe 即可启动软件。首次连接时,手机上会问你是否允许它对设备进行调试,按下确认同意即可。
macOS 平台
Mac 用户需要使用 HomeBrew 命令进行安装。其实 HomeBrew 的功能很实用,它可以帮助你非常简单地一键安装/卸载各种软件,包括 Scrcpy。
安装 homebrew:
通过命令行 (Terminal) 执行 ,如已安装可跳过
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
安装 Scrcpy:
(如果网络太慢,可以考虑
更换 Homebrew 国内源
或使用代理)
brew install scrcpy
安装 ADB:
如果你没有安装
ADB 命令行工具
,那么也可以用 brew 来安装
brew cask install android-platform-tools
使用 USB 数据线连接手机后,执行
scrcpy
命令即可启动软件。首次连接会在手机上问你是否允许它对设备进行调试,按下确认同意即可。如果你有多台手机连接到电脑,可以执行
adb devices
查看每一台设备对应的ID,然后执行scrcpy -s 设备ID
来连接使用指定的设备。
Linux 平台
Linux 用户可以参考官网的说明自己编译安装。
sudo snap install scrcpy
Scrcpy 命令参数
这些参数可以多个自由组合使用,注意区分大小写。
Scrcpy 的命令参数 | |
---|---|
关闭手机屏幕 | scrcpy -S |
限制画面分辨率 | scrcpy -m 1024 (比如限制为 1024) |
修改视频码率 | scrcpy -b 4M (默认 8Mbps,改成 4Mbps) |
裁剪画面 | scrcpy -c 1224:1440:0:0 表示分辨率 1224x1440 并且偏移坐标为 (0,0) |
多设备切换 | scrcpy -s 设备ID (使用 adb devices 命令查看设备ID) |
窗口置顶 | scrcpy -T |
显示触摸点击 | scrcpy -t 在演示或录制教程时,可在画面上对应显示出点击动作 |
全屏显示 | scrcpy -f |
文件传输默认路径 | scrcpy --push-target /你的/目录 将文件拖放到 scrcpy 可以传输文件,此命令指定默认保存目录 |
只读模式(仅显示不控制) | scrcpy -n |
屏幕录像 | scrcpy -r 视频文件名.mp4 或 .mkv |
屏幕录像 (禁用电脑显示) | scrcpy -Nr 文件名.mkv |
设置窗口标题 | scrcpy --window-title '异次元好棒!' |
同步传输声音 | 可借助 USBaudio 这个开源项目实现,但仅支持 Linux 系统 |
Scrcpy 快捷键
启动之后,你就可以在电脑桌面上看到 Scrcpy 的投屏窗口和手机画面了,你可以直接用鼠标进行操作,它同时也有很多键盘快捷键可以使用。
Scrcpy 快捷键列表 | |
---|---|
切换全屏模式 | Ctrl +F |
将窗口调整为1:1(完美像素) | Ctrl +G |
调整窗口大小以删除黑色边框 | Ctrl +X | 双击黑色背景 |
设备 HOME 键 |
Ctrl +H | 鼠标中键 |
设备 BACK 键 |
Ctrl +B | 鼠标右键 |
设备 任务管理 键 (切换APP) |
Ctrl +S |
设备 菜单 键 |
Ctrl +M |
设备音量+ 键 |
Ctrl +↑ |
设备音量- 键 |
Ctrl +↓ |
设备电源键 |
Ctrl +P |
点亮手机屏幕 | 鼠标右键 |
复制内容到设备 | Ctrl +V |
启用/禁用 FPS 计数器(stdout) | Ctrl +i |
安装APK | 将 apk 文件拖入投屏 |
传输文件到设备 | 将文件拖入投屏(非apk) |
注:在 macOS 平台上,请使用 cmd
代替 Ctrl
。
屏幕录像
如有需要,你也可以通过命令对连接好的安卓手机进行录屏,并将视频保存为 .mp4 格式。
- 投屏并录屏:
scrcpy -r file.mp4
- 不投屏只录屏:
scrcpy -Nr file.mp4
scrcpy 录屏效果
使用 WIFi 连接
Scrcpy 使用 adb 与 Android 设备通讯,而 adb 本身是支持无线连接的。因此除了 USB 数据线之外,我们也能无线使用。前提是需要保证手机和电脑处于同一局域网 (连接到相同的 WiFi 路由器),步骤如下:
- 查询设备当前的 IP 地址 (设置 →关于手机→状态)
- 启用 adb TCP/IP 连接,执行命令:
adb tcpip 5555
,其中 5555 为端口号 - 拔掉你的数据线
- 通过 WiFi 进行连接,执行命令:
adb connect 设备IP地址:5555
- 重新启动 scrcpy 即可
- 如果 WiFi 较慢,可以调整码率:
scrcpy -b 3M -m 800
,意思是限制 3 Mbps,画面分辨率限制 800,数值可以随意调整。 - 如需切换回 USB 模式,执行:
adb usb
总结
个人感觉 Scrcpy 用来办公真的很方便,可以在电脑前轻松处理手机端的事情,对于没有电脑端的 App,或必须用手机来操作时,Scrcpy 真的能让你效率猛增!绝对是人手必备的利器。
再加上 Scrcpy 完全免费开源,支持跨平台,支持录屏,而且是独立的程序。
使用Scrcpy 在电脑显示手机画面并控制安卓设备的更多相关文章
- 使用Scrcpy实现电脑控制安卓手机
很多时候我们想要在电脑上使用一些手机软件,使用模拟器当然是一种选择,但是这些模拟器要不然不免费,要不然广告多不放心.Scrcpy是一个开源免费的软件,通过abd命令实现了安卓手机投屏和控制功能,并且支 ...
- [UWP]涨姿势UWP源码——适配电脑和手机
上一篇我们介绍了绘制主界面的MainPage.xaml,本篇则会结合MainPage.xaml.cs来讲一讲如何适配电脑和手机这些不同尺寸的设备. 同时适配电脑和手机存在几个麻烦的地方: 屏幕尺寸差距 ...
- 通过JS语句判断WEB网站的访问端是电脑还是手机
通过JS语句判断WEB网站的访问端是电脑还是手机,以显示不同的页面! 目录腾讯网的适配代码如何判断访问网站的机器类型-如何判断ipadJS 判断浏览器客户端类型(ipad,iphone,android ...
- 电脑时间显示秒 win10电脑显示农历
win10电脑时间显示秒 显示农历. Win10怎样让任务栏时间显示秒_百度经验 win10电脑显示农历 网上搜到的不管用. 直接下载win10万年历.我下载的人生日历. 最烦广告, 还有一些流氓行为 ...
- WordPress主题设置插件,让你的站点有电脑、手机双主题
我们建站的时候总是会优先考虑自适应的主题,但是与之对应,免费的自适应主题都调用国外公共资源,访问速度不太理想.加上wordpress未经优化之前,本身也没有极高的访问效率.所以大家可以下载这款“主题设 ...
- JS判断web网站访问端是PC电脑还是手机
通过JS语句判断WEB网站的访问端是电脑还是手机,以显示不同的页面! <script type="text/javascript"> <!-- //平台.设备和操 ...
- PHP判断访问终端,电脑或手机访问
函数代码: //判断电脑或手机访问 function is_mobile(){ $user_agent = $_SERVER['HTTP_USER_AGENT']; $mobile_agents = ...
- 使用WebRTC实现电脑与手机通过浏览器进行视频通话
最近一直在研究WebRTC,做了一个小项目:www.meet58.com,这个项目利用WebRTC.WebSocket可以让各种设备只通过浏览器进行视频聊天,无论是电脑.手机或者是平板.下面就是手机和 ...
- 使用JS在页面进行数据处理时显示等待画面
使用js在页面进行数据处理期间显示等待画面: 在页面选择执行函数进行数据处理期间,显示等待画面. <script> function fun(the,row_id) { //测试函数 // ...
- win7系统电脑显示windows副本不是正版怎么办
win7系统电脑显示windows副本,可以:在开始输入框中输入cmd——以管理员权限运行——在命令行中输入SLMGR -REARM,——重启.
随机推荐
- 使用 Docker 搭建 gitea 私有仓库
一.准备材料 安装环境:linux 工具:docker 软件:MySql.gitea 二.安装Docker 安装Docker:https://www.cnblogs.com/jzcn/p/156937 ...
- mac更新nodejs
查看本机node.js版本: node -v 清除node.js的cache:sudo npm cache clean -f 安装 n 工具:sudo npm install -g n 安装最新版本的 ...
- grid布局方案
前言 CSS网格布局用于将页面分割成数个主要区域,或者用来定义组件内部元素间大小.位置和图层之间的关系.像表格一样,网格布局让我们能够按行或列来对齐元素. 但是,使用CSS网格可能还是比CSS表格更容 ...
- .NET ASPIRE 预览版 7 发布
.NET Aspire 预览版 7 并不是原计划的一部分,此预览版有很多重大 API 更改,部分原因是一旦产品发布,我们将致力于稳定的 API 表面.可以说,Aspire团队希望确保在最终发布之前完成 ...
- vulnhub靶场-->MATRIX-BREAKOUT: 2 MORPHEUS
靶机下载地址 MATRIX-BREAKOUT: 2 MORPHEUS << 点我下载 开始打靶 IP发现 nmap扫描网段发现靶机ip:192.168.111.139 端口发现 对靶机进行 ...
- 【开源】2024最新python豆瓣电影数据爬虫+可视化分析项目
项目介绍 [开源]项目基于python+pandas+flask+mysql等技术实现豆瓣电影数据获取及可视化分析展示,觉得有用的朋友可以来个一键三连,感谢!!! 项目演示 [video(video- ...
- centos7下xfs文件系统的备份和恢复:完全备份,增量备份,差异备份
目录 一.关于xfs文件系统 二.xfsdump的备份级别和注意事项 三.完全备份整个目录/分区,然后恢复数据 四.完全备份分区中某个目录,然后恢复某个文件/文件夹 五.增量备份 一.关于xfs文件系 ...
- 源码分析——MyBatis核心接口SqlSession的实现原理
在上一篇文章中(<MyBatis动态代理调用过程源码分析>),我们知道了MyBatis动态代理的核心是MapperProxy,在它内部封装了动态代理的调用逻辑,而我们也知道了在使用动态代理 ...
- Vue cli之项目目录结构
src 主开发目录,要开发的单文件组件全部在这个目录下的components目录下 static 静态资源目录,所有的css,js文件放在这个文件夹 dist 项目打包发布文件夹,最后要上线单文件项目 ...
- 算法金 | 再见,支持向量机 SVM!
大侠幸会,在下全网同名「算法金」 0 基础转 AI 上岸,多个算法赛 Top 「日更万日,让更多人享受智能乐趣」 今日 170+/10000 一.SVM概述 定义与基本概念 支持向量机(SVM)是一种 ...