如何限制Android模拟器上的互联网连接速度?

mob*_*lex 31 connection performance android

我需要测试app与慢速互联网连接工作.如何在Android模拟器上模拟慢速互联网连接?

dim*_*suz 40

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

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

如果要为某些仿真器映像永久设置此速度:

  1. 打开菜单工具 - > Android - > AVD Manager
  2. 选择/创建模拟器avd图像,单击" 编辑"
  3. 单击显示高级设置按钮
  4. 设置所需的净速度
  5. 重新启动模拟器

旧答案(已废弃)

如果您在Eclipse中工作,请转到Run-> Run Configurations,选择您的运行配置,然后转到" Target "选项卡.在那里你会找到一个" 网络速度 "组合框(在" 模拟器启动参数 "部分下).

如果从命令行运行模拟器,则可以使用" -netspeed "cmd行参数(运行模拟器-help-netspeed以获取可能选项的概述)


Dus*_*inB 19

在模拟器仍在运行时调整内容的最简单方法是使用模拟器控制台.只需使用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
Run Code Online (Sandbox Code Playgroud)

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

$ 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
Run Code Online (Sandbox Code Playgroud)

只是让在运行时更容易做事并测试各种场景(通过自动化,手动测试等).

  • 供参考。现在(2020)“echo”无法工作,因为模拟器需要登录“Android 控制台:需要身份验证”、“Android 控制台:输入“auth <auth_token>”进行身份验证” (3认同)
  • 这很棒.在运行模拟器时能够更改设置要好得多.我发现另一个有用的命令 - 它将网络延迟2秒来测试加载屏幕:`echo"network delay 2000"| nc localhost 5554` (2认同)

Mic*_*man 6

Appium设置网络速度

adb emu network speed
Run Code Online (Sandbox Code Playgroud)

例子:

adb emu network speed gsm
Run Code Online (Sandbox Code Playgroud)

所有值(请参阅appium 文档):gsm、hscsd、gprs、umts、edge、hsdpa、lte、evdo、full