我想测试我的应用程序的低网络连接的情况。除了站在电梯里,还有什么最好的方法呢?我试过用铝箔纸包我的手机,但没有用。

我需要在真正的设备上测试它,而不是在模拟器上。


当前回答

我发现netlimiter4是将数据节流到模拟器的最佳解决方案。 它通过体面的gui提供粒度控制,并为每个进程的数据吞吐量提供图形化反馈。目前处于免费测试版。 截图

http://www.netlimiter.com/products/nl4

在游戏商店中有一些应用程序可以节流到实际设备上,但它们需要root(我不能提供任何关于它们工作得如何的建议,如果在所有- YMMV)。

在游戏商店搜索bradybound,我不能发布超过一个链接。

其他回答

运行>运行配置,选择Android应用程序,然后进入目标选项卡。按照图中所示进行更改。

更新到Android Studio v 1.5或更高版本 正如@LouMorda在下面的评论中提到的,在最初的帖子中提到的模拟器选项卡已经在Android Studio v 1.5中被删除了。

现在他们把这些设置放在AVD管理器的模拟器设置中。 要访问这些设置:

选择“Tools -> Android -> AVD Manager” 点击编辑AVD按钮(铅笔图标) 单击“显示高级设置”按钮后,可以访问“网络设置”

下面是它的屏幕截图:

最初的发布 对于使用Android Studio IDE的人:

执行->编辑配置 选择Android应用程序->[您的应用程序] 选择模拟器选项卡 在这里,您可以更改网络速度(网速)和网络延迟(延迟)的不同值,以模拟不同的速度和延迟等

或者,您可以在其他命令行选项文本字段中输入各种参数,如@inazaruk的回答中所述。

下面的截图描述了运行配置界面的样子:

我知道现在回答这个问题有点晚了,但我希望这能帮助其他面临类似问题的人!

编辑 对于任何使用eclipse的人,请参阅下面@Abhi的回答。

正如@VicVu Charles(或任何其他代理工具)所建议的那样,是一种更简单的方法。但我想补充的是,你也可以在你的设备上做到这一点,而不仅仅是genymotion或其他模拟器。过程是一样的:

修改您的设备/模拟器的wifi设置以使用手动代理。然后设置代理主机名和端口 A.将主机名设置为您系统的IP(使用ifconfig/ifconfig获取您pc/mac的IP) B.设置genymotion端口号(查看charles中的proxy Settings)

PS:你的设备/模拟器必须使用相同的wifi,因为你正在使用的ip很可能是私有ip。

几岁了,但是嘿,我会用Genymotion来配合我的万无一失的方法。

下载Charles免费试用版:http://www.charlesproxy.com/download/ 安装它 ClickProxy ->节流阀设置 设置HTTP节流速度 关闭窗口 单击“Proxy -> Throttling”,开启节流阀 打开Genymotion模拟器 打开wifi设置 长按开启的wifi连接 单击“修改网络” 单击“显示高级选项” 设置代理为手动 设置Proxy主机名为10.0.3.2 端口设置为“8888” 点击保存

现在你的网络将被阻塞!

非常老的帖子,但我将补充我的意见。我对这个硬件产品(https://apposite-tech.com/products/linktropy-mini/)非常满意,它使我们能够模拟许多现实世界的条件。在很长一段时间里,我们都面临着解决各种问题的挑战,这些问题将在模拟器或飞行模式下工作。

我们设置了几个不同的配置文件,从零连接到边缘连接的各个阶段,具有不同程度的延迟、数据包丢失和误码。这样做的好处是我们可以在运行中更改这些,而不必在模拟器中重新启动应用程序。对于我们的商店来说,这个价格是完全值得的,而且使用起来非常简单。