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

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


当前回答

我正在使用mitmproxy HTTPS代理。https://mitmproxy.org/

Mitmproxy是一个开源代理应用程序,允许拦截任何HTTP(S)客户端之间的HTTP和HTTPS连接。它允许实时监控、捕获和改变这些连接。更改请求,响应,报头,… 此外,您还可以拦截不同的请求。

例如response_delay.py:

from mitmproxy import http
from time import sleep

def response(flow: http.HTTPFlow) -> None:
    sleep(5.0)

然后执行这个注释会延迟来自服务器的所有响应:

mitmproxy --cert \*.asdf.at=./cert.pem --scripts response_delay.py

在我的应用程序中,我使用证书钉住,所以你需要添加证书(私有+公共) 猫私人。关键的公众。密钥> cert.pem

你可以在这里找到一个简单的教程。

您可以在这里找到其他脚本示例。

其他回答

由于iPhone开发者选项适用于wifi绑定,你可以获得一部iOS 6及以上版本的iPhone(并已被设置为使用xcode开发),将其设置为模拟所需的网络配置文件,将你的Android设备连接到它的热点

我知道这是个老问题,但是…

现在有些手机的设置是只使用2G。它非常适合在真实设备上模拟慢速互联网。

Android工作室AVD更新:

开放式AVD管理器 创建/编辑AVD 点击高级设置 选择您首选的连接设置

没有微波炉和电梯:)

我有个办法解决你的问题。您可以使用代理程序来修改或监视您的网络状态。例如,查尔斯。

你应该改变默认配置的查尔斯像下面的图片我张贴。

最后,你会发现网速已经被塑造成较低的速度。

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

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

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

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