Как я могу проверить приложение Android для сетевых ошибок?

У меня есть приложение управления контентом, которое использует TCP / IP для извлечения данных. Я хотел бы протестировать это приложение для нескольких сетевых проблем, таких как потеря пакетов и потеря связи.

Есть ли простой способ эмулировать сетевые проблемы для тестирования приложения Android?

В DDMS существует некоторая настройка соединения и задержки для устройства, похоже, что это не работает. Я могу установить запрещенный или незарегистрированный, но выборка с сервера не затронута. Я использую Windows для разработки.


Я уже пробовал:

Иконка F8 – 3G исчезает, однако я все еще могу загружать данные.

DDMS, Изменение статуса телефонии – значок 3G исчезает, однако я все еще могу загружать данные.

Настройки, мобильные сети, данные с поддержкой false – значок 3G исчезает, однако я все еще могу загрузить

Режим самолета – значок 3G исчезает, однако я все еще могу загрузить

Инструменты Dev – Wifi toggle – я получаю ошибки:

09-27 16:43:31.353: ERROR/Connectivity(518): EVENT_TOGGLE_WIFI 09-27 16:43:31.363: ERROR/WifiService(62): Failed to load Wi-Fi driver. 

Например, для тестирования потерянного интернет-соединения вы можете отключить 3G-соединение от своего эмулятора, нажав F8. например; Запустите приложение, а затем во время загрузки данных попробуйте отключить соединение, нажав F8, а затем вы сможете увидеть реакцию своего приложения

Я не думаю, что вам нужно беспокоиться о потере пакетов с помощью TCP-соединения, учитывая, что доставка является надежной (потерянные пакеты уже обрабатываются и повторно отправляются). Если вы используете эмулятор, вы можете установить задержку в разделе «Состояние телефонии» на вкладке «Управление эмулятором» в DDMS.

Вы можете использовать Android Dev Tools App . Это по умолчанию на эмуляторе, и вы можете копировать / устанавливать его на реальном устройстве.

У него есть опция (среди прочего) для переключения Wifi периодически в определенное время.