【问题标题】:Set android emulator device name设置安卓模拟器设备名称
【发布时间】:2020-01-01 09:39:00
【问题描述】:

当我将手机连接到计算机并在控制台中使用adb devices 时,我可以看到:

List of devices attached
XYZQWERTYXYZ device

当我将同一部手机连接到另一台电脑时,设备名称保持不变。

最近我开始使用MEMU 模拟器。当我通过模拟器adb devices 运行android 实例时,返回如下内容:

List of devices attached
127.0.0.1:21513 device

问题是当我想在另一台电脑上使用相同的 memu android 实例时。我可以导出和导入该实例,但设备名称在另一台电脑上可能不同,例如:

List of devices attached
127.0.0.1:21503 device

我在D:\Program Files\Microvirt\MEmu\MemuHyperv VMs\MEmu_1 位置找到了配置文件,其中包含每个模拟器android 实例的配置。在.memu 文件中,我可以找到这样的行:

<Forwarding name="ADB" proto="1" hostip="127.0.0.1" hostport="21513" guestip="10.0.2.15" guestport="5555"/>
<Forwarding name="MVD" proto="1" hostip="127.0.0.1" hostport="21511" guestip="10.0.2.15" guestport="21501"/>

我想我可以通过将hostport 更改为不同的值来强制 memu 在特定端口上运行 android 实例,例如

<Forwarding name="ADB" proto="1" hostip="127.0.0.1" hostport="21600" guestip="10.0.2.15" guestport="5555"/>

不幸的是,当我通过 MEMU 启动 android 实例时,主机端口又回到了21513。对此我有什么办法吗?

换句话说 - 我希望有机会确定设备名称。

【问题讨论】:

  • @a_local_nobody 这很重要。
  • @a_local_nobody 我使用appium编写了软件来自动化我手机上的内容。我可以轻松切换到另一台电脑并运行该软件(需要设置设备名称)。如果设备名称更改,我将无法这样做。
  • 啊好吧,这很公平,只是想知道这是否是一个问题
  • 我也在寻找解决方案。我目前的解决方法是打开文本文件,找到对应的主机端口guestport="5555"

标签: android-emulator adb appium emulation genymotion


【解决方案1】:

使用最新的 Memu 进行测试,似乎 Memu 会按照设计在每次启动时恢复主机端口。

一个简单的解决方法是使用 Windows 防火墙转发端口,如下所示:

netsh interface portproxy add v4tov4 listenport=21600 listenaddress=0.0.0.0 connectport=21513 connectaddress=localhost
netsh advfirewall firewall add rule name="Port for Memu_0" dir=in action=allow protocol=TCP localport=21600

【讨论】:

    猜你喜欢
    • 2012-04-01
    • 1970-01-01
    • 2017-01-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-09-23
    相关资源
    最近更新 更多