一、scrcpy简介

注意:拼写是scrcpy,非Python爬虫框架Scrapy。

scrcpy可以通过adb调试的方式来将手机屏幕投到电脑上,并可以通过电脑控制您的Android设备。它可以通过USB连接(初次必须),也可以通过Wifi连接(通过TCP / IP,类似于隔空投屏),而且不需要任何root权限,不需要在手机里安装任何程序。scrcpy同时适用于GNU / Linux,Windows和macOS。

它的一些特性:

  1. 亮度(原生,仅显示设备屏幕)
  2. 性能(30~60fps)
  3. 质量(1920×1080或以上)
  4. 低延迟(35~70ms)
  5. 启动时间短(显示第一张图像约1秒)
  6. 非侵入性(设备上没有安装任何东西)

Scrcpy在GitHub上的项目网址:https://github.com/Genymobile/scrcpy | 客户端下载地址(https://github.com/Genymobile/scrcpy/releases)。

Genymobile是法国一家专注于安卓系统模拟与开发者服务的公司。大家熟知的Genymotion就是它的一款产品。

二、使用scrcpy的要求

  1. Android设备至少需要API 21(Android 5.0以上版本)
  2. 确保在您的设备上启用了adb调试

在某些设备上,您还需要启用其他选项以使用键盘和鼠标控制它。

三、使用USB进行连接

此方式推荐使用,相对更加流畅。

手机通过USB连接到PC上,首次连接会弹出是否信任该电脑,点击始终信任即可。
运行adb usb查看是否连接成功,运行scrcpy即可。

  1. D:\xushanxiang\scrcpy-win64-v1.10>adb usb
  2. restarting in USB mode

你也可以将D:\xushanxiang\scrcpy-win64-v1.10加入到系统环境变量中。

如果有多个设备,需要指定序列号,序列号可以从adb devices获得,如:

adb devices
List of devices attached
* daemon not running; starting now at tcp:5037
* daemon started successfully

6a86de95 device

scrcpy -s 6a86de95

查看已连接设备命令adb devices,显示device则表示已连接,显示offline则离线。

如果是macOS,执行scrcpy后,出现下面内容,并弹出手机当前实时界面(投屏),并且还可以在电脑界面上操作手机哟。

  1. ~ scrcpy
  2. * daemon not running; starting now at tcp:5037
  3. * daemon started successfully
  4. /usr/local/Cellar/scrcpy/1.8/share/scrcpy/scrcpy-serv....jar: 1 file pushed. 1.0 MB/s (19850 bytes in 0.019s)
  5. 2019-11-28 10:31:45.315 scrcpy[4701:62681] INFO: Initial texture: 1080x1920

四、使用无线连接

可参考官方文档:Open Source Project – Scrcpy now works wirelessly

–https://www.genymotion.com/blog/open-source-project-scrcpy-now-works-wirelessly/

此连接方式更加方便快捷,若宽带速率高,使用效果更佳,使用方法也非常简单,步骤如下:

  1. 确保PC和手机在同一Wifi中
  2. 手机先通过USB与PC相连
  3. 在PC上运行 adb tcpip 服务端口,如端口为5555
  4. 拔下手机的USB连接
  5. 在PC上运行 adb connect 手机IP:服务端口
  6. 像往常一样运行 scrcpy相关命令
  7. 若要切换回USB模式:adb usb

手机IP可通过手机的状态信息查看,或者登录路由器查看,一般以192.168开头。

这样弹出手机的屏幕,手机投屏成功!

正如预期的那样,性能与USB不同,默认的scrcpy比特率是8Mbps,这对于Wi-Fi连接来说可能太多了。

根据使用情况,降低比特率和分辨率可能是一个很好的折中方案。

scrcpy –bit-rate 2M –max-size 800

scrcpy -b2M -m800 # 简写

五、一些scrcpy命令

1、启动scrcpy

  1. scrcpy

2、如果有多个设备,需要指定序列号,序列号可以从adb devices获得

  1. scrcpy -s 6a86de95

3、设置端口

  1. scrcpy -p 27184

4、查看帮助

  1. scrcpy --help

5、设置码率(默认8M)

  1. scrcpy -b 8M

6、限制投屏尺寸

  1. scrcpy -m 1024

7、裁剪投屏屏幕(长:宽:偏移x:偏移y)

  1. scrcpy -c 800:800:0:0

8、投屏并录屏

  1. scrcpy -r file.mp4

9、不投屏只录屏

  1. scrcpy -Nr file.mp4

10、手指触摸的时候显示轨迹球

  1. scrcpy -t

11、显示版本信息

  1. scrcpy -v

12、关闭设备屏幕
使用命令行选项启动镜像时,可以关闭设备屏幕:

  1. scrcpy --turn-screen-off
  2. scrcpy -S

或者随时按Ctrl + o。要重新打开它,请按POWER键(或Ctrl + p)。

六、scrcpy常用快捷键

Action Shortcut Shortcut (macOS)
切换全屏模式 Ctrl+f Cmd+f
将窗口调整为1:1 (完美像素) Ctrl+g Cmd+g
调整窗口大小以删除黑色边框 Ctrl+x | Double-click¹ Cmd+x | Double-click¹
返回到HOME Ctrl+h | Middle-click Ctrl+h | Middle-click
返回 Ctrl+b | Right-click² Cmd+b | Right-click²
Click on APP_SWITCH Ctrl+s Cmd+s
点击菜单 Ctrl+m Ctrl+m
调节音量 Ctrl+ (up) Cmd+ (up)
调节音量 Ctrl+ (down) Cmd+ (down)
点击手机电源 Ctrl+p Cmd+p
Power on(打开) Right-click² Right-click²
关闭设备屏幕(保持镜像) Ctrl+o Cmd+o
展开通知面板 Ctrl+n Cmd+n
折叠通知面板 Ctrl+Shift+n Cmd+Shift+n
将设备剪贴板复制到计算机 Ctrl+c Cmd+c
将计算机剪贴板粘贴到设备 Ctrl+v Cmd+v
将计算机剪贴板复制到设备 Ctrl+Shift+v Cmd+Shift+v
启用/禁用FPS计数器(在标准输出上) Ctrl+i Cmd+i

¹双击黑色边框将其删除。
²如果已关闭,请右键单击以打开屏幕,否则按BACK。

七、结语

这样,我们就使用了两种方式(USB连接和Wifi连接)使用scrcpy,其它方法详见:README(https://github.com/Genymobile/scrcpy#features),如可直接拖拽APK进行安装,手机录屏等。

原文:https://xushanxiang.com/2019/11/android-scrcpy.html

Scrcpy用电脑控制Android手机(支持Windows/macOS/Linux)的更多相关文章

  1. 【Linux】Mac好用虚拟机 Parallels Desktop、FinalShell-多终端连接工具(支持Windows,macOS,Linux)

    一.Mac好用虚拟机 Parallels Desktop 1.下载安装: 2.新建虚拟机: 3.配置管理: 二.FinalShell-多终端连接工具(支持Windows,macOS,Linux) 1. ...

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

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

  3. PC端轻松控制Android手机,PC Control Andoroid,PC控制安卓手机

    记录此次经历的目的是帮助需要的人或下次使用时少走弯路,我为此试用了不少工具及方法,因为追求免费,像"Weak Control:在PC上控制你的Android手机"还要收费的我就不弄 ...

  4. FTP 客户端工具(支持 Windows/Unix/Linux)

    FTP 客户端工具,支持 Windows/Unix/Linux

  5. 电脑控制Android设备的软件——Total Control

    最早开始搞Android开发时,为了调试方便,想找一个Android下的远程控制软件,支持在电脑端远程控制和同步显示Android设备.先后试了360手机助手.Mobizen.Vysor和Mirror ...

  6. SQL Server 2017 正式发布:同时支持 Windows 和 Linux(现在看下来,当年那德拉的“云优先,移动优先”是有远见的,而且是有一系列的措施和产品相配合的,只是需要一点时间而已。真是佩服!!)

    微软在去年 3 月首次对外宣布了 Linux 版的 SQL Server,并于今年 7 月发布了首个公开 RC 版.前几日在美国奥兰多召开的微软 Ignite 2017 大会上,微软宣布 SQL Se ...

  7. C#搞跨平台UI,封装Cef作为Cpf的控件支持Windows,Linux,Mac

    终于封装完成了,采用离屏渲染方式,支持JS和C#互相调用,C#方法自动绑定到JS里,中文输入有自动调整输入法位置. 基于开源的CefGlue 移植,本来想用CefSharp,不过这个里面有很多C++的 ...

  8. Thinkphp5 主动式 计划任务 支持windows和linux

    百度搜索过相关的php计划任务的资料,特别是搜索thinkphp的计划任务,目前能明确实现的都是被动式的,就是通过tp3.2自带的计划任务类实现,通过挂钩子的形式,用户访问网站的时候就执行计划任务,这 ...

  9. 苹果如何控制android手机,安卓手机怎么控制苹果?

    小编经常通过手机远程控制别人手机,帮助他人解决一些电脑问题,另外还经常需要通过远程电脑控制服务器,管理脚本之家的服务器等等,可能这些对大家都没有什么诱惑,今天笔者为大家带来一个非常有趣的手机控制电脑的 ...

随机推荐

  1. 不止面试02-JVM内存模型面试题详解

    第一部分:面试题 本篇文章我们将尝试回答以下问题: 描述一下jvm的内存结构 描述一下jvm的内存模型 谈一下你对常量池的理解 什么情况下会发生栈内存溢出?和内存溢出有什么不同? String str ...

  2. myql数据库,sql横排转竖排以及竖排转横排,oracle的over函数的使用

    一.引言 前些日子遇到了一个sql语句的横排转竖排以及竖排转横排的问题,现在该总结一下,具体问题如下: 这里的第二题和第三题和下面所讲述的学生的成绩表是相同的,这里给大家留一下一个念想,大家可以自己做 ...

  3. 【Android - 组件】之Activity生命周期的全面分析

    Activity是Android四大组件之首,其重要性不言而喻,Activity的生命周期更是我们了解Android工作机制的重中之重.我们一般将Activty的生命周期做两种情况下的理解,即正常情况 ...

  4. java静态初始化块(静态域)

    1. 类变量的初始化可通过静态初始化块来进行. 代码放在一对大括号内,大括号前用static修饰:static {……} 一个类可定义1个或多个静态初始化块. 静态初始化块会在加载时调用而且只被调用一 ...

  5. Android组合Windows环境下Frida的安装步骤

    Frida是什么     我觉得官网已经说得很清楚了.简单的说就是一款动态代码检测工具,可用于各种系统,这里的主要用途是动态检测Android代码,配合Windows系统环境使用.     Frida ...

  6. shell脚本编程基础--文本比较

    1.概述 允许测试Linux文件系统上文件的目录和状态. 2.详解 2.1 检查目录 -d测试会检查指定的目录是否存在于系统中.当我们打算将文件写入目录或是准备切换到该目录时,先进行测试是比较好的做法 ...

  7. DevOps on DevCloud|如何采用流水线践行CI/CD理念【华为云技术分享】

    [摘要] 持续集成/持续交付(CI/CD,Continuous Integration/Continuous Deployment)在DevOps CMALS理念中具有支柱性地位,因而CI/CD流水线 ...

  8. Ubuntu 18.04.3 LTS Virtualbox提示“Kernel driver not installed (rc=-1908)”问题修复一例

    前两天Ubuntu升级了,重启后启动virtualbox保存 从错误报告上反映出来的问题原因是因为某些内核驱动程序没有经过编译,所以Virtualbox无法正常运行.事实上,在Ubuntu上处理这个问 ...

  9. Seata 客户端需要同时启动 TM 和 RM 吗?

    在分析启动部分源码时,我发现 GlobalTransactionScanner 会同时启动 RM 和 TM client,但根据 Seata 的设计来看,TM 负责全局事务的操作,如果一个服务中不需要 ...

  10. Python 入门必学经典知识点笔记【肯定有你不知道的】

    前言本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理.作者:实验楼 Python 作为近几年越来越流行的语言,吸引了大量的学员开始学 ...