在Windows上显示Android模拟器屏幕的方法解析

19次阅读
没有评论

如何在 Windows 机器上显示 Android 模拟器窗口

检测与问题描述

最近需要对一个 Android 应用进行远程测试,因此打算使用 x11 转发来连接运行在 Ubuntu 上的 Android 模拟器,并让模拟器屏幕在其 Windows 上下文中正确显示。在尝试了多种方法后遇到了一些难题,特别是如何成功地将模拟器窗口传输回本地Windows机器。

通过使用 adb 和 SSH 隧道进行通信已经能够成功启动并控制 Linux 上的 Android 模拟器(即运行在 Ubuntu 20.04 的 AVD)。但在将模拟器界面传送到 Windows 侧时遇到了障碍。根据描述,虽然 Android 模拟器窗口没有显示出来,且 x11 转发似乎未按预期工作。

解决方案

为了解决上述问题,可以尝试以下几种方法来成功在Windows上显示Android模拟器屏幕:

  1. x11Forwarding
    通过配置 SSH 设置进行 X11Forwarding。确保使用正确的 SSH 命令,并且在目标服务器(Ubuntu)的 /etc/ssh/sshd_config 文件中添加或确认以下设置:
    shell
    X11Forwarding yes

    并重启 SSH 服务以使更改生效。

  2. 安装X11 Server on Windows
    在Windows端,需要一个X11服务器。可以使用Xming或其他类似的工具作为X11服务器来接受并显示来自Linux的X11传输输出(包括Android模拟器)。

  3. 使用scrcpy工具
    利用 scrcpy 这样的软件可以通过adb连接直接从Windows远程观看和操作模拟器或真机。安装方法简单,只需要按文档下载稳定版:
    shell
    git clone https://github.com/Genymobile/scrcpy.git
    cd scrcpy/
    ./prebuilt/<你的平台>/scrcpy

  4. 配置SSH隧道和ADB
    确保 SSH 隧道正确设置了端口转发,以及在运行 adb connect 命令时指向了正确的隧道地址:
    shell
    adb connect 127.0.0.1:5555

示例操作步骤

  1. 在 Ubuntu 机器上启动Android模拟器
    使用emulator命令运行预配置的AVD(虚拟设备),可以添加额外参数进行优化,如:
    shell
    emulator -avd generic_30 -noaudio -no-window -no-boot-anim -gpu off -screen touch

  2. 在 Windows 机器上设置 x11 配置
    安装一个合适的 X11 server(如Xming),并确保SSH软件支持X11代理。

  3. 开启 SSH tunnel 并连接 ADB
    shell
    ssh -LC 5554:localhost:5554 -L 5555:localhost:5555 <你的用户名>@<服务器IP地址>
    adb connect 127.0.0.1:5555

  4. 使用 scrcpy 软件观看模拟器显示
    scrcpy 可执行文件放入Windows机器的路径,并运行命令连接到ADB服务器:
    shell
    .\path\to\scrcpy.exe --max-size 800x480

通过这些步骤,可以有效在本地Windows机器上查看并操作位于远程Ubuntu上的Android模拟器。请注意,在尝试任何解决方案之前确保所有依赖项和环境都被正确配置。

结论

使用X11转发将远程服务器的图形界面传输到本地环境虽然需要一些设置但相对直接且常见于许多开发者的工作流程中,尤其是跨操作系统的开发场景;或者如 scrcpy 这种专门工具可以直接简化这个过程。选择最适合你当前需求的方法可以达到最佳展示效果。

正文完