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

    建议使用 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 完全免费开源,支持跨平台,支持录屏,而且是独立的程序。

    如果说我的文章对你有用,只不过是我站在巨人的肩膀上再继续努力罢了。
    若在页首无特别声明,本篇文章由 Schips 经过整理后发布。
    博客地址:https://www.cnblogs.com/schips/
  • 相关阅读:
    [LeetCode] 55. Jump Game 跳跃游戏
    [LeetCode] 163. Missing Ranges 缺失区间
    [LeetCode] 228. Summary Ranges 总结区间
    获取当时时间和日期
    响应式布局设备分界点
    html5shiv.js分析-读源码之javascript系列
    建站模板开源代码
    js 调试问题
    transform使用参考指南
    浏览器版本过低
  • 原文地址:https://www.cnblogs.com/schips/p/using_scrcpy_debug_android.html
Copyright © 2020-2023  润新知