You need to enable JavaScript to run this app.
导航

通过 scrcpy 工具访问和调试云手机

最近更新时间2024.05.09 17:19:40

首次发布时间2022.07.01 19:17:00

scrcpy 是一个通过 PC 显示和控制 Android 设备的开源工具,适用于 GNU/Linux、Windows 和 Mac OS。本文以 Windows 操作系统为例,介绍如何使用 scrcpy 通过 PC 访问和调试云手机实例。

前提条件

  1. 已申请开通云手机-iPaaS服务,并购买云手机。详细信息,参考 购买云机

  2. 下载 ADB 工具 Android SDK Platform-Tools,并将下载的 zip 文件解压至选定的目录,例如:/Demo/platform-tools

  3. 下载 scrcpy 开源工具,并将下载的 zip 文件解压至选定的目录,例如:/Demo/scrcpy

新建安全组并绑定云手机实例

如需通过公网访问或接入账号下已订购的云手机实例,需要创建安全组为云手机实例添加端口映射规则。通过以下步骤,新建安全组并绑定云手机实例:

  1. 打开云手机控制台「安全组」页面,点击 创建安全组

  2. 选择需绑定的实例资源,同时配置访问规则:选择 TCP 协议类型,输入 5555 源端口号(注:使用 ADB 远程连接云手机时,必须开启 5555 端口号;如需公网访问,则需选择 “同时添加内外网映射规则”)。

  3. 点击 创建,完成安全组配置,将需要访问的云手机实例与创建的安全组绑定。详细步骤和说明,参考 安全组管理

  4. 安全组规则生效后,可在安全组的 入向访问规则 标签页查看已映射的访问 IP 及端口。如果需要通过公网访问云手机实例,则根据映射的公网 IP 和公网端口接入即可;如果需要通过内网访问,则根据内网代理 IP 和内网代理端口接入即可。

  5. (可选)安全组规则生效后,也可通过调用云手机-iPaaS服务端 ListPortMapping 接口,获取需要访问的云手机实例的公网 IP(public_ip)和公网端口号(public_port)。参考以下示例:

新建 ADB 密钥对并绑定云手机实例

密钥对为用户远程登陆云机提供认证方式。通过以下步骤,新建密钥对并绑定云手机实例:

  1. 使用 ADB 工具创建密钥对。详细信息,参考 安装及配置 ADB 环境

  2. 打开云手机控制台「密钥对」页面,点击 添加密钥对。选择 导入已有公钥 创建方式,复制粘贴通过 ADB 工具生成的公钥内容,点击 确定,创建密钥对。

  3. 将需要访问的云手机实例与创建的密钥对绑定。详细信息,参考 密钥对管理

通过 ADB 连接云手机实例

完成安全组和密钥对绑定后,通过以下步骤,建立云手机实例远程连接:

  1. 打开命令提示符窗口,切换到 /Demo/platform-tools 目录,执行 adb connect public_ip:public_port 命令,创建与云手机实例的 ADB 连接。可通过 adb devices 命令检查是否连接成功。

  2. 使用 scrcpy 工具打开云手机界面:进入 scrcpy 工具所在目录,双击 scrcpy.exe 文件,即可获取云手机界面,调试云手机。

如果启动云手机界面显示黑屏,可自行安装自定义 launcher 后,设置启动 launcher 即可。

安装及配置 scrcpy工具

Windows 环境

  1. 访问 scrcpy 开源项目地址:https://github.com/Genymobile/scrcpy,找到对应 Widows 环境下的获取应用的入口:

  2. 下载 scrcpy 开源工具,并将下载的 zip 文件解压至选定的目录,例如:/Demo/scrcpy

Mac 环境

  1. 访问 scrcpy 开源项目地址:https://github.com/Genymobile/scrcpy,找到对应 Mac OS 环境下的获取应用的入口:

  2. 按照页面执行步骤进行安装(https://github.com/Genymobile/scrcpy/blob/master/doc/macos.md):

  3. 从 Homebrew(https://brew.sh/)页面获取命令,并在 Mac 终端 Terminal 执行对应命令:

    /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
    
  4. 中间需要输入Mac 用户密码,如果执行完成后出现 Warning,比如提示:"brew command not found after installing Homebrew ...”,则可执行下述命令(参考:https://superuser.com/questions/1621771/brew-command-not-found-after-installing-homebrew-on-an-arm-m1-mac):

    eval $(/opt/homebrew/bin/brew shellenv)
    
  5. 如果安装完成后,如果本地已经配置 ADB,则可跳过 install android-platfrom-tools,直接执行 scrcpy 看是否能执行成功;如果尚未配置 ADB,可参考在 Mac OS 安装及配置 ADB 环境 或执行以下命令:

    brew install android-platform-tools
    

安装及配置 ADB 环境

Windows 环境

  1. 下载 ADB 工具 Android SDK Platform-Tools

  2. 将下载的 zip 文件解压至选定的目录,例如:/Demo/platform-tools

  3. 使用 ADB 工具创建密钥对:打开命令提示符窗口,切换到 /Demo/platform-tools 目录,执行命令 adb devices,生成 ADB 密钥对(如果是要重新生成密钥对,可先执行 adb kill-server,再执行 adb devices)。

默认情况下,ADB 服务器生成的密钥对以 adbkey(私钥)和 adbkey.pub(公钥)的形式存储在 C:\Users\xxx\.android 目录中。

Mac 环境

  1. 下载 ADB 工具 Android SDK Platform-Tools

  2. 下载完成后解压(将文件夹放置到一个不常改动的目录下,避免误删),然后给文件配置环境变量,举例:把 platform-tools 文件夹放到 Mac 的 Downloads 目录下。

  3. 打开 Mac 的终端 Terminal,并执行下述语句,配置对应的 PATH 路径:

    # 在没有 Android SDK 的情况下,单独配置 platform-tools,支持 adb 命令
    export PATH=${PATH}:~/Downloads/platform-tools
    
  4. 关闭并重启 Mac 的终端 Terminal,ADB 环境即可生效。可执行 adb 命令进行验证,例如 adb version

  5. 打开 Mac 的终端 Terminal,切换到 platform-tools 目录下,执行 adb devices 命令;如果是要重新生成密钥对,可先执行 adb kill-server,再执行 adb devices,生成 ADB 密钥对。

ADB 服务器生成的密钥对一般以 adbkey(私钥)和 adbkey.pub(公钥)的形式存储在 ~/.android 密钥存储库目录中。