我想测试我的应用程序的低网络连接的情况。除了站在电梯里,还有什么最好的方法呢?我试过用铝箔纸包我的手机,但没有用。
我需要在真正的设备上测试它,而不是在模拟器上。
我想测试我的应用程序的低网络连接的情况。除了站在电梯里,还有什么最好的方法呢?我试过用铝箔纸包我的手机,但没有用。
我需要在真正的设备上测试它,而不是在模拟器上。
当前回答
我正在使用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
你可以在这里找到一个简单的教程。
您可以在这里找到其他脚本示例。
其他回答
更新到Android Studio v 1.5或更高版本 正如@LouMorda在下面的评论中提到的,在最初的帖子中提到的模拟器选项卡已经在Android Studio v 1.5中被删除了。
现在他们把这些设置放在AVD管理器的模拟器设置中。 要访问这些设置:
选择“Tools -> Android -> AVD Manager” 点击编辑AVD按钮(铅笔图标) 单击“显示高级设置”按钮后,可以访问“网络设置”
下面是它的屏幕截图:
最初的发布 对于使用Android Studio IDE的人:
执行->编辑配置 选择Android应用程序->[您的应用程序] 选择模拟器选项卡 在这里,您可以更改网络速度(网速)和网络延迟(延迟)的不同值,以模拟不同的速度和延迟等
或者,您可以在其他命令行选项文本字段中输入各种参数,如@inazaruk的回答中所述。
下面的截图描述了运行配置界面的样子:
我知道现在回答这个问题有点晚了,但我希望这能帮助其他面临类似问题的人!
编辑 对于任何使用eclipse的人,请参阅下面@Abhi的回答。
对于mac操作系统用户,你可以使用网络链接调节器,可以从苹果下载。将其设置为mac上的AP,任何设备都可以连接它。
你可以使用facebook的开源工具ATC http://facebook.github.io/augmented-traffic-control/
你试过这个吗? 设置—网络—更多—移动网络—网络模式—选择首选网络(以2G网络为例)。
上面提到了我使用的另一种方法。通过iPhone热点连接。 希望这能有所帮助。
我发现netlimiter4是将数据节流到模拟器的最佳解决方案。 它通过体面的gui提供粒度控制,并为每个进程的数据吞吐量提供图形化反馈。目前处于免费测试版。 截图
http://www.netlimiter.com/products/nl4
在游戏商店中有一些应用程序可以节流到实际设备上,但它们需要root(我不能提供任何关于它们工作得如何的建议,如果在所有- YMMV)。
在游戏商店搜索bradybound,我不能发布超过一个链接。
运行>运行配置,选择Android应用程序,然后进入目标选项卡。按照图中所示进行更改。