使用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。

建议使用 Scrcpy-GUI

使用 Scrcpy 你无需 ROOT 手机,也不需在手机上安装 APP,只需在系统设置里启用“USB调试”( adb 调试) 即可。

连接电脑的方式可选 USB 数据线连接或 ADB 无线 WiFi 连接。

下面我们给大家提供一个 Scrcpy 的简单使用教程。

准备工作

  1. 准备好 USB 数据线,安卓系统版本要求 5.0 以上
  2. Scrcpy 需要使用 adb 驱动进行与电脑之间通讯,Windows 版的安装包里似乎已经包含了 adb。你也可以手动从下载这个 ADB 命令行工具进行安装。
  3. 需要在手机端的系统设置里开启「开发者选项」及「USB 调试」选项。不同的手机开启方法不尽相同,找不到选项的话可以自行去搜索一下。

Windows 平台

Windows 用户直接下载并安装,连接好数据线后,电脑上执行 scrcpy.exe 即可启动软件。首次连接时,手机上会问你是否允许它对设备进行调试,按下确认同意即可。

macOS 平台

Mac 用户需要使用 HomeBrew 命令进行安装。其实 HomeBrew 的功能很实用,它可以帮助你非常简单地一键安装/卸载各种软件,包括 Scrcpy。

  1. 安装 homebrew:

    通过命令行 (Terminal) 执行 ,如已安装可跳过

    /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
  2. 安装 Scrcpy:

    (如果网络太慢,可以考虑

    更换 Homebrew 国内源

    或使用代理)

    brew install scrcpy
  3. 安装 ADB:

    如果你没有安装

    ADB 命令行工具

    ,那么也可以用 brew 来安装

    brew cask install android-platform-tools
  4. 使用 USB 数据线连接手机后,执行 scrcpy 命令即可启动软件。首次连接会在手机上问你是否允许它对设备进行调试,按下确认同意即可。

  5. 如果你有多台手机连接到电脑,可以执行 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 路由器),步骤如下:

  1. 查询设备当前的 IP 地址 (设置 →关于手机→状态)
  2. 启用 adb TCP/IP 连接,执行命令:adb tcpip 5555,其中 5555 为端口号
  3. 拔掉你的数据线
  4. 通过 WiFi 进行连接,执行命令:adb connect 设备IP地址:5555
  5. 重新启动 scrcpy 即可
  6. 如果 WiFi 较慢,可以调整码率:scrcpy -b 3M -m 800,意思是限制 3 Mbps,画面分辨率限制 800,数值可以随意调整。
  7. 如需切换回 USB 模式,执行:adb usb

总结

个人感觉 Scrcpy 用来办公真的很方便,可以在电脑前轻松处理手机端的事情,对于没有电脑端的 App,或必须用手机来操作时,Scrcpy 真的能让你效率猛增!绝对是人手必备的利器。

再加上 Scrcpy 完全免费开源,支持跨平台,支持录屏,而且是独立的程序。

使用Scrcpy 在电脑显示手机画面并控制安卓设备的更多相关文章

  1. 使用Scrcpy实现电脑控制安卓手机

    很多时候我们想要在电脑上使用一些手机软件,使用模拟器当然是一种选择,但是这些模拟器要不然不免费,要不然广告多不放心.Scrcpy是一个开源免费的软件,通过abd命令实现了安卓手机投屏和控制功能,并且支 ...

  2. [UWP]涨姿势UWP源码——适配电脑和手机

    上一篇我们介绍了绘制主界面的MainPage.xaml,本篇则会结合MainPage.xaml.cs来讲一讲如何适配电脑和手机这些不同尺寸的设备. 同时适配电脑和手机存在几个麻烦的地方: 屏幕尺寸差距 ...

  3. 通过JS语句判断WEB网站的访问端是电脑还是手机

    通过JS语句判断WEB网站的访问端是电脑还是手机,以显示不同的页面! 目录腾讯网的适配代码如何判断访问网站的机器类型-如何判断ipadJS 判断浏览器客户端类型(ipad,iphone,android ...

  4. 电脑时间显示秒 win10电脑显示农历

    win10电脑时间显示秒 显示农历. Win10怎样让任务栏时间显示秒_百度经验 win10电脑显示农历 网上搜到的不管用. 直接下载win10万年历.我下载的人生日历. 最烦广告, 还有一些流氓行为 ...

  5. WordPress主题设置插件,让你的站点有电脑、手机双主题

    我们建站的时候总是会优先考虑自适应的主题,但是与之对应,免费的自适应主题都调用国外公共资源,访问速度不太理想.加上wordpress未经优化之前,本身也没有极高的访问效率.所以大家可以下载这款“主题设 ...

  6. JS判断web网站访问端是PC电脑还是手机

    通过JS语句判断WEB网站的访问端是电脑还是手机,以显示不同的页面! <script type="text/javascript"> <!-- //平台.设备和操 ...

  7. PHP判断访问终端,电脑或手机访问

    函数代码: //判断电脑或手机访问 function is_mobile(){ $user_agent = $_SERVER['HTTP_USER_AGENT']; $mobile_agents = ...

  8. 使用WebRTC实现电脑与手机通过浏览器进行视频通话

    最近一直在研究WebRTC,做了一个小项目:www.meet58.com,这个项目利用WebRTC.WebSocket可以让各种设备只通过浏览器进行视频聊天,无论是电脑.手机或者是平板.下面就是手机和 ...

  9. 使用JS在页面进行数据处理时显示等待画面

    使用js在页面进行数据处理期间显示等待画面: 在页面选择执行函数进行数据处理期间,显示等待画面. <script> function fun(the,row_id) { //测试函数 // ...

  10. win7系统电脑显示windows副本不是正版怎么办

    win7系统电脑显示windows副本,可以:在开始输入框中输入cmd——以管理员权限运行——在命令行中输入SLMGR -REARM,——重启.

随机推荐

  1. 使用 Docker 搭建 gitea 私有仓库

    一.准备材料 安装环境:linux 工具:docker 软件:MySql.gitea 二.安装Docker 安装Docker:https://www.cnblogs.com/jzcn/p/156937 ...

  2. mac更新nodejs

    查看本机node.js版本: node -v 清除node.js的cache:sudo npm cache clean -f 安装 n 工具:sudo npm install -g n 安装最新版本的 ...

  3. grid布局方案

    前言 CSS网格布局用于将页面分割成数个主要区域,或者用来定义组件内部元素间大小.位置和图层之间的关系.像表格一样,网格布局让我们能够按行或列来对齐元素. 但是,使用CSS网格可能还是比CSS表格更容 ...

  4. .NET ASPIRE 预览版 7 发布

    .NET Aspire 预览版 7 并不是原计划的一部分,此预览版有很多重大 API 更改,部分原因是一旦产品发布,我们将致力于稳定的 API 表面.可以说,Aspire团队希望确保在最终发布之前完成 ...

  5. vulnhub靶场-->MATRIX-BREAKOUT: 2 MORPHEUS

    靶机下载地址 MATRIX-BREAKOUT: 2 MORPHEUS << 点我下载 开始打靶 IP发现 nmap扫描网段发现靶机ip:192.168.111.139 端口发现 对靶机进行 ...

  6. 【开源】2024最新python豆瓣电影数据爬虫+可视化分析项目

    项目介绍 [开源]项目基于python+pandas+flask+mysql等技术实现豆瓣电影数据获取及可视化分析展示,觉得有用的朋友可以来个一键三连,感谢!!! 项目演示 [video(video- ...

  7. centos7下xfs文件系统的备份和恢复:完全备份,增量备份,差异备份

    目录 一.关于xfs文件系统 二.xfsdump的备份级别和注意事项 三.完全备份整个目录/分区,然后恢复数据 四.完全备份分区中某个目录,然后恢复某个文件/文件夹 五.增量备份 一.关于xfs文件系 ...

  8. 源码分析——MyBatis核心接口SqlSession的实现原理

    在上一篇文章中(<MyBatis动态代理调用过程源码分析>),我们知道了MyBatis动态代理的核心是MapperProxy,在它内部封装了动态代理的调用逻辑,而我们也知道了在使用动态代理 ...

  9. Vue cli之项目目录结构

    src 主开发目录,要开发的单文件组件全部在这个目录下的components目录下 static 静态资源目录,所有的css,js文件放在这个文件夹 dist 项目打包发布文件夹,最后要上线单文件项目 ...

  10. 算法金 | 再见,支持向量机 SVM!

    大侠幸会,在下全网同名「算法金」 0 基础转 AI 上岸,多个算法赛 Top 「日更万日,让更多人享受智能乐趣」 今日 170+/10000 一.SVM概述 定义与基本概念 支持向量机(SVM)是一种 ...