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

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


当前回答

在Android Studio中打开终端,进入../../Android/sdk/tools。'模拟器'可执行文件应该在这里可用。 运行。/emulator -netdelay "delay_in_millis" -avd "emulator_device_name" 例如:./emulator -netdelay 60000 -avd Nexus_5_API_21 现在构建应用程序并将其安装在模拟器中。 在应用程序中运行您的场景。

确保你有你的代码变化在应用程序设置超时你的请求和处理。

其他回答

Android工作室AVD更新:

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

没有微波炉和电梯:)

我很惊讶没人提到这一点。你可以通过蓝牙连接,并将它们分开十多米(或更少的障碍物)。你的信号很差。没有微波炉,没有电梯,不需要软件。

您是想测试没有网络连接,还是只是网络连接很慢?如果是前者,可以进入设置>无线和网络>飞行模式,打开飞行模式。这将允许您在实际设备上测试网络不可用性。

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

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

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

有一种在真实设备上测试低速的简单方法似乎被忽视了。它确实需要一台Mac电脑和以太网(或其他有线)网络连接。

在Mac上打开Wifi共享,把你的电脑变成Wifi热点,把你的设备连接到这个。使用Netlimiter/Charles Proxy或Network Link Conditioner(您可能已经安装了)来控制速度。

欲了解更多详细信息,并了解您应该在签出时测试什么样的速度:http://opensignal.com/blog/2016/02/05/go-slow-how-why-to-test-apps-on-poor-connections/