Mac—Scrcpy在Macbook上实现同屏/多屏协同操作安卓手机界面(支持 Win、Mac、Linux)


1、效果展示:就在那么一瞬间,就成功弹出了手机界面,真的是激动又兴奋,真的很有成就感耶~

2、背景介绍

投屏功能已经满足不了现有需求了,投屏,只是把手机界面投屏到电脑上,但是,不能在电脑端操作手机界面。而且,隔壁华为的手机+华为的笔记本,手机跟笔记本贴一下,就能实现同屏,真的便捷又很香啊。就在想,能不能实现很香的同屏功能呢?于是百度搜索到了Scrcpy GUI

PS:顺便拓宽一下思路,如果想在电脑上使用 Android 应用,除了用 Genymotion、Parallels Desktop 等虚拟机软件跑个安卓系统外,也可以借助 Vysor 等工具将手机画面投屏到电脑上显示和控制。可惜 Vysor Pro 收费较贵,免费版广告又多。

3、Scrcpy GUI

下载、安装、连接、连接失败有报错一直连不上。于是乎,就仔细查看其连接要求,最终发现,Scrcpy GUI是基于Scrcpy的友好登录交互界面,也就是说,只安装Scrcpy GUI 是不够的。

4、介绍一下Scrcpy和Scrcpy-GUI

Scrcpy免费开源且免Root手机的电脑控制手机神器!它跨平台支持 Win、Mac、Linux,可通过 USB 数据线 (或WiFi) 连接电脑,将 Android 手机的画面“搬到”电脑上显示,还可以使用键盘鼠标实时操作你的安卓手机,可以互通剪贴板、电脑键盘打字、支持传输文件、安装程序、截图、录屏等特性。画面清晰流畅,基本无明显延迟,相比 Vysor 要付费后才能设置高码率,Scrcpy可以自定义视频码率。软件支持自动横屏。能让你拥有像华为「多屏协同」那样“在电脑上操作手机”的功能。

但Scrcpy 本身是个命令行软件,对很多人来说用起来并不是那么方便。异次元的读者 simon 特意为Scrcpy开发了一个直观简单易用的图形界面——「Scrcpy-GUI」软件。专门为 Scrcpy 提供可视化的操作界面的外挂工具,安装后能让 Scrcpy 变得跟日常普通软件那样简单易用,只需鼠标点点就能设置和调用软件的所有功能。比如,修改分辨率/视频码率、截图、录屏保存、自动检测数据线连接的设备、保存局域网中曾连接过的设备数据、持设备别名、国际化、系统托盘图标菜单等功能。Scrcpy-GUI 也是免费开源的,同时也能跨平台支持 Windows、macOS 和 Linux 等系统,绝对是 Scrcpy 的必备伴侣。

由于 Scrcpy-GUI 只是图形界面(它不包含 Scrcpy 本身),安装Scrcpy之后就能使用 GUI 界面进行连接使用了。

5、Scrcpy 使用方法:

使用 Scrcpy 你无需 ROOT 手机,也不需在手机上安装 APP,只需在手机系统设置里启用开发者下的“USB调试”( adb 调试) 即可。连接电脑的方式可选 USB 数据线连接或 ADB 无线 WiFi 连接。下面我们给大家提供一个 Scrcpy 的简单使用教程。 

Scrcpy 使用教程:

准备工作:

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

Windows 下载安装:

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

macOS 下载安装:

使用 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 install --cask android-platform-tools
  4. 有线连接:使用 USB 数据线连接手机后,首次连接会在手机上问你是否允许它对设备进行调试,按下确认同意即可。再执行scrcpy即可实现有限连接。
  5. 无线连接:使用 USB 数据线连接手机后,首次连接会在手机上问你是否允许它对设备进行调试,按下确认同意即可。

    Scrcpy使用adb与设备无线通信,adb可以通过TCP/IP连接到设备

    brewadb tcpip 5555      #数据线连接状态下执行,开放无线连接端口5555
    adb devices           #查看电脑连接上的手机设备 e7dc3117就是有线连接设备的序列号ID拔掉设备数据线

    将设备连接到与计算机相同的Wi-Fi
    获取设备IP静态地址
    连接到您的设备 adb connect DEVICE_IP:5555 ,其中DEVICE_IP为设备ip地址。adb devices #查看电脑连接上的手机设备 192.168.1.111:5555就是无线连接设备的序列号ID执行 scrcpy 命令即可启动软件。可以直接执行scrcpy,也可以如下设置参数启动,这样就会更好的显示效果。

    scrcpy --push-target /sdcard/脚本 --always-on-top --max-size 600 --bit-rate 2M --max-fps 15 --display-buffer=30 -s 192.168.1.111:5555

    # --serial/-s                                        如果多手机连接到电脑,执行adb devices查看每一台设备对应ID,然后执行scrcpy -s设备ID 来连接使用指定的设备(可以是有线的设备序列号也可以是无线的)
    # --push-target /sdcard/foo/bar/          目标目录可以在启动时更改
    # --window-title ‘My device’                  窗口标题默认是设备模型,它是可以改变的
    # --window-x 100 --window-y 100         指定初始窗口位置
    # --window-width 800 --window-height 600  指定初始窗口大小
    # --window-borderless                          无边界禁用窗口装饰

    # --always-on-top                                保持窗口总是在顶部
    # --fullscreen/-s                                   应用程序可以直接在全屏启动,然后可以用 ctrl + f 动态切换全屏
    # --rotation 1                                        窗口旋转:0: 不旋转1: 逆时针旋转90度2: 旋转180度3: 顺时针旋转90度还可以通过 Ctrl + ← 和 Ctrl + → 动态更改旋转
    # --no-control/-n                                 只读,禁用控件 (可以与设备交互的所有东西,如输入键、鼠标事件、拖放文件)
    # --show-touches/-t                             显示触摸,对于演示,显示物理触摸(在物理设备上)可能很有用,Scrcpy提供了一个选项来在启动时启用该特性,并在退出时恢复初始值

    # --stay-awake/-Sw                              防止设备休眠
    # --turn-screen-off/-S                          关闭屏幕,可以使用命令行选项关闭设备屏幕,或在任何时候按 Ctrl + o
    # -display 1                                           显示,如果有多个显示器可用,可以选择要镜像的显示器
    # --bit-rate/-b 2M                                改变码率,默认的比特率是8mbps
    # --max-size/-m 800                            将宽度和高度限制为某个值 (例如1024,800等)
    # --max-fps 15                                      限制帧率,捕获帧速率可以被限制
    # --crop 1224:1440:0:0 #1224x1440          偏移量 (0,0)裁切,设备屏幕可以裁剪成只反映屏幕的一部分,这是有用的,例如反映只有一只眼睛的虚拟现实眼镜,如果–max-size也指定了,则裁剪之后应用调整大小
    # --lock-video-orientation 0                    锁定镜像的方向 0:自然方向 1:逆时针90° 2:180° 3:顺时针90°,这会影响录制方向
    # --record/-r  file.mp4/file.mkv                录屏,可以在镜像时录屏
    # --no-display --record file.mp4              录屏,在录屏时禁用镜像,用Ctrl+C中断录制,“跳过的帧”被记录,即使它们没有实时显示(出于性能原因),帧是设备上的时间戳,因此包延迟变化不会影响记录的文件
    # -Nr file.mkv                                      同上
    # --display-buffer=50                              #为显示增加 50 毫秒的缓冲,显示缓冲,可以加入缓冲,会增加延迟,但可以减少抖动。
    --v4l2-buffer=500                                # 为 v4l2 漏增加 500 毫秒的缓冲,对于 V4L2 漏缓冲「只适用于Linux上」

    其他功能说明:
    scrcpy --help 支持帮助
    文件拖动——安装APK,要安装APK,请将APK文件(以.apk结尾)拖放到scrcpy窗口
    文件拖动——推送文件到设备,要将文件推送到设备上的 /sdcard/,请将一个(非apk)文件拖放到scrcpy窗
    按 Ctrl + Shift + o (或者 POWER, Ctrl + p) 恢复
    输入控制,旋转设备的屏幕,按 Ctrl + r 在纵向和横向模式之间切换,注意,它只在前台应用程序支持所请求的方向时才旋转

    复制粘贴,可以在计算机和设备之间双向同步剪贴板
    Ctrl + c 将设备剪贴板复制到计算机剪贴板
    Ctrl + Shift + v 将电脑剪贴板复制到设备剪贴板(如果设备运行Android >= 7则粘贴)
    Ctrl + v 将计算机剪贴板粘贴为文本事件序列
    此外,每当Android剪贴板发生变化时,它都会自动同步到计算机剪贴板

    adb shell dumpsys display     # 在输出中查找我的显示id 可以检索显示id列表

  6. 到这一步就会显示手机镜像了,但是,我操作时出现了,scrcpy能显示手机屏幕不能控制屏幕

      本人的是小米手机,小米手机USB中有安全模式,要调试为允许才可以进行模拟操作

    在这里插入图片描述

  7.如需切换回 USB 模式(有线模式),执行:adb usb
   使用情景:用无线模式抖动太厉害了,各种设置参数后效果会好一点,但是,还是不能达到隔壁华为的同屏(手机需要打开WiFi、NFC、蓝牙)效果。所以,改用数据线USB连接,效果确实很香。

   

下次登录操作:连接数据线+scrcpy -Sw就可以了

     

PS:报错解决

(1)brew install scrcpy 报错

解决:把brew升级一下,就会更新下载的库源/镜像。

 

然后,再运行安装命令就可以了

安装成功。

(2)如果提示 No formulae found in taps 意思是在库里面找不到,可以尝试下:brew doctor

 

然后会提示你执行
git -C $(brew --repo homebrew/core) checkout master
之后,说不定就可以在库里面找到了

6、Scrcpy-GUI 使用方法
这个没有调试成功,百度的结果说是,先安装Scrcpy-GUI,然后在其目录下安装Scrcpy,就可以直接使用GUI了。

前提条件:

  • 请确保 adb , scrcpy 均已正确安装并可使用
  • 请确保手机已打开 USB 调试,并已认证电脑调试

使用 USB 有线连接:

  1. 请确保手机已通过数据线连接到电脑
  2. 等待软件自动检测到设备
  3. 选中设备,点击打开选中的镜像
  4. 等待设备打开

无线连接:

  1. 请确保手机与电脑处在同一局域网
  2. 第一次无线连接时:
    请确保手机已通过数据线连接到电脑
    请确保只有一个手机通过数据线连接到电脑
    第一次需设置端口,以后连接手机,只需要添加手机的静态 IP 即可
  3. 输入手机的局域网IP地址(如果 IP 为 DHCP 分配,请更改为静态 IP)
  4. 点击开启无线连接
  5. 等待无线连接成功
  6. 选中设备,点击打开选中的镜像
  7. 等待设备打开

Scrcpy-GUI 快捷键列表:(也适用于Scrcpy)

Scrcpy-GUI 快捷键
操作 快捷键 快捷键 (macOS)
切换全屏模式 Ctrl+f Cmd+f
将窗口调整为 1:1 Ctrl+g Cmd+g
调整窗口大小以删除黑色边框 Ctrl+x | 双击黑色背景 Cmd+x | 双击黑色背景
设备HOME Ctrl+h | 鼠标中键 Ctrl+h | 鼠标中键
设备BACK Ctrl+b | 鼠标右键 Cmd+b | 鼠标右键
设备任务管理键 Ctrl+s Cmd+s
设备菜单键 Ctrl+m Ctrl+m
设备音量+ Ctrl+ Cmd+
设备音量- Ctrl+ Cmd+
设备电源键 Ctrl+p Cmd+p
点亮手机屏幕 鼠标右键 鼠标右键
关闭设备屏幕(保持镜像) 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
安装APK 将APK文件拖入投屏 将APK文件拖入投屏
传输文件到设备 将文件拖入投屏 将文件拖入投屏
启用/禁用FPS计数器(stdout) Ctrl+i Cmd+i

参考:

ScrcpyGui下载:https://www.jb51.net/softs/725074.html#downintro2       

Scrcpy开源项目地址:https://github.com/Genymobile/scrcpy

GUI开源项目地址:https://github.com/Tomotoes/scrcpy-gui

官方下载: ScrcpyGui:https://github.com/Tomotoes/scrcpy-gui/releases Scrcpy:https://github.com/Genymobile/scrcpy/releases ADB:https://dl.google.com/android/repository/platform-tools-latest-windows.zip   Windows打包下载:(推荐) 32位:https://wwa.lanzous.com/iu5NVn7hn5a    ScrcpyGui_scrcpy_adb_32bit.zip (76.54 MB, 下载次数: 0) 64位:https://wwa.lanzous.com/iZajQn7hnte    ScrcpyGui_scrcpy_adb_64bit.zip (99.11 MB, 下载次数: 40) 

命令行安装过程参考:
https://www.jianshu.com/p/b8810edec812 

https://www.iplaysoft.com/scrcpy.html
https://github.com/Genymobile/scrcpy/blob/master/README.zh-Hans.md   官方安装和使用说明文档(更深入操作可参考这个)