【问题标题】:How to limit speed of internet connection on Android emulator?如何限制Android模拟器上的互联网连接速度?
【发布时间】:2011-09-08 08:15:42
【问题描述】:

我需要测试应用程序是否可以在互联网连接速度较慢的情况下工作。 如何在安卓模拟器上模拟慢速网速?

【问题讨论】:

    标签: android performance connection


    【解决方案1】:

    对于 Android Studio 项目,您可以执行以下操作:

    如果您需要临时更改网速,则在模拟器工具栏上,单击三个点(设置),转到蜂窝选项卡并在那里配置网络速度。您需要拥有最新的 Android 工具。

    如果您想为某些模拟器图像永久设置此速度:

    1. 打开菜单工具 -> Android -> AVD 管理器
    2. 选择/创建您的模拟器 avd 图像,点击 编辑
    3. 点击显示高级设置按钮
    4. 设置所需的网速

      增加 kbps 的参考速度:

                              UP       DOWN
                        -------- ----------
      gsm   GSM/CSD         14.4       14.4
      hscsd HSCSD           14.4       57.6
      gprs  GPRS            28.8       57.6
      umts  UMTS/3G        384.0      384.0
      edge  EDGE/EGPRS     473.6      473.6
      hsdpa HSDPA         5760.0   13,980.0
      lte   LTE         58,000.0  173,000.0
      evdo  EVDO        75,000.0  280,000.0
      full  No limit           ∞          ∞
      
    5. 重新启动模拟器

    旧答案(已过时)

    如果您在 Eclipse 中工作,请转到 Run->Run Configurations,选择您的运行配置,然后转到“Target”选项卡。在那里您会找到一个“Network Speed”组合框(在“Emulator Launch Parameters”部分下)。

    如果你是从命令行运行模拟器,那么你可以使用“-netspeed”命令行参数(运行emulator -help-netspeed查看可能的选项)

    【讨论】:

    • 是否可以在应用程序中进行控制?
    • 我不这么认为。当然,也许您可​​以让您的应用程序处理数据变得更慢,但我怀疑您无法覆盖系统的网络速度。如果可以的话,那就太糟糕了:)
    • 花了我很长时间才找到网络速度设置,因为侧面没有滚动条,我什至没有想过调整窗口大小来找到它。但感谢您提供的信息。
    • 是的,Eclpise 有时会这样搞砸。我记得自己在其他一些选择方面也处于同样的境地:)
    • 要在模拟器3点技术中配置网络速度,选择网络类型,然后使用上表选择与速度相对应的类型。
    【解决方案2】:

    在模拟器仍然启动时进行调整的最简单方法是使用终端连接到模拟器。只需使用 telnet 或 netcat(交互式地,您可以“telnet localhost 5554”并输入“help”——下面的示例显示了如何编写脚本:

    $ echo "network speed 100 100" | nc localhost 5554
    $ echo "network status" | nc localhost 5554
    Current network status:
      download speed:     100000 bits/s (12.2 KB/s)
      upload speed:       100000 bits/s (12.2 KB/s)
      minimum latency:  0 ms
      maximum latency:  0 ms
    

    您还可以设置延迟/延迟:

    $ echo "network delay gprs" | nc localhost 5554
    $ echo "network status" | nc localhost 5554
    Current network status:
      download speed:     100000 bits/s (12.2 KB/s)
      upload speed:       100000 bits/s (12.2 KB/s)
      minimum latency:  150 ms
      maximum latency:  550 ms
    

    只是让在运行时做事和测试各种场景(通过自动化、手动测试等)变得更容易。

    【讨论】:

    • 感谢您的回答!与使用运行配置不同,这对我有用。我也喜欢您如何检查当前设置。
    • 这很棒。在运行模拟器时能够更改设置要好得多。我发现另一个有用的命令——它会延迟网络 2 秒来测试加载屏幕:echo "network delay 2000" | nc localhost 5554
    • 仅供参考。现在(2020)echo 无法工作,因为模拟器需要登录 Android Console: Authentication required,Android Console: type 'auth <auth_token>' to authenticate
    • 这个解决方案在 2020 年不起作用Android Console: Authentication required
    【解决方案3】:

    Appium set network speed

    adb emu network speed
    

    示例:

    adb emu network speed gsm
    

    所有值(见appium doc):gsm、hscsd、gprs、umts、edge、hsdpa、lte、evdo、full

    【讨论】:

      【解决方案4】:

      在 Eclipse 中: 运行 -> 运行配置 -> 点击!

      选择标签目标。点击!

      然后有一个选项网络速度

      设置它来模拟你想要的任何东西。 :)

      【讨论】:

        【解决方案5】:

        Run->Run Configurations:您可以在其中找到Emulator Launch Parameters,您可以在其中设置网速

        【讨论】:

          【解决方案6】:

          在模拟器上去

          扩展控制 -> 蜂窝网络 -> 网络类型

          并根据您的要求设置参数

          【讨论】:

            【解决方案7】:

            请务必使用移动网络(而非 WiFi)在您的模拟器上体验网速变化。

            【讨论】:

              猜你喜欢
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 2017-03-20
              • 2011-06-21
              • 1970-01-01
              • 2011-04-01
              • 2011-11-07
              相关资源
              最近更新 更多