Как перевести AVD (эмулятор) в автономный режим? - PullRequest
28 голосов
/ 24 октября 2010

Я хотел бы проверить поведение моего приложения, когда пользователь находится в зоне отсутствия сигнала или когда его телефон находится в режиме полета.

-> Как перевести виртуальное устройство Android в автономный режим (где невозможно подключение к Интернету)?

Я пробовал следующее:

  • Активация режима полета через настройки AVD: на удивление, это НЕ работает (просмотр интернета все еще возможен в режиме полета!)

  • Отключение сетевого подключения на моем ПК: это, очевидно, работает, но не удовлетворительно, так как мне нужен Интернет, когда я тестирую свое приложение

Ответы [ 11 ]

24 голосов
/ 26 января 2016

WIFI:

$ adb shell svc wifi enable
$ adb shell svc wifi disable

МОБИЛЬНЫЕ ДАННЫЕ:

$ adb shell svc data enable
$ adb shell svc data disable
14 голосов
/ 19 января 2011

Я вижу все те же проблемы. DDMS не полностью убивает это. Как и F8. И при этом не включается режим полета внутри эмулятора. Возможно, нам всем стоит отметить эту проблему кто-то вошел в систему в 2009 году.

6 голосов
/ 27 сентября 2016

Я нашел рабочее решение.Протестировано на Android 6.0 и эмуляторах 7.0, но должно работать на других.

Отключение сети:

adb shell ifconfig eth0 down

Подключение к сети:

adb shell ifconfig eth0 up

Если вы получили разрешение«Отказано в ошибке», перезапустите демон adb с правами root:

adb root

и повторите попытку.

3 голосов
/ 24 октября 2010

Вы должны просто нажать F8 в окне эмулятора, чтобы отключить сотовую сеть в соответствии с: http://developer.android.com/guide/developing/tools/emulator.html. Но я тестирую его, и он тоже не работает! Есть только сообщение, что нет подключения к интернету, но оно на самом деле работает ...

2 голосов
/ 23 марта 2012

Вместо использования режима полета в эмуляторе Android (который работает не очень хорошо) отключите сетевое подключение к вашей системе во время тестирования.То есть коммутатор Ethernet-подключения или Wi-Fi.Хорошо сработало для меня.

2 голосов
/ 23 января 2011

Я обнаружил в своем представлении «Управление эмулятором», когда я настроил «Голос и данные» на «незарегистрированные», а не «запрещенные», у меня работает.Теперь я, наконец, отключил AVD для сети, пока могу опубликовать этот ответ.

2 голосов
/ 24 октября 2010

Все, что я делаю, это захожу в меню «Окно», выбираю «открыть перспективу -> другое», чтобы открыть перспективу DDMS.В перспективе DDMS у вас есть представление «Управление эмулятором», где вы можете настроить задержку, роуминг, вы можете назначить ему различные состояния телефона и данных.Таким образом, следуя этой процедуре, чтобы получить представление эмулятора, перейдите в раскрывающийся список «Данные» и выберите опцию «Запрещено».

0 голосов
/ 08 марта 2019

Я обнаружил, что ответ @Marco C. сработал, но я также обнаружил, что мои настройки AVD позволили сделать это очень легко.

На боковой панели полностью щелкните значок тройной точки внизу:

enter image description here

Затем настройте параметры сотовой связи «Сила сигнала» и «Состояние данных» на «Нет» и «Отклонено» соответственно, как показано на этом изображении:

enter image description here

0 голосов
/ 04 января 2013

Наконец, как насчет этого подхода.

android-sdks/tools/emulator -avd [AVD name goes here] -qemu -net nic,vlan=0 -net user,vlan=1

На самом деле, это хитрость, потому что следующее вызывает мой эмулятор:

android-sdks/tools/emulator -avd [AVD name goes here] -qemu -net none

Протестировано с эмулятором Android V21.0 на Debian.

0 голосов
/ 31 июля 2012

Один комментарий к проблеме, упомянутой Джеймсом Кохом, говорит, что существует обходной путь:

Comment 15 by iscy%inv...@gtempaccount.com, Jul 8, 2011
Finally found a work around for this issue:
telnet localhost 5554    // Connects to the emulator
qemu monitor             // Enter in the QEmu functionalities
info network             // List the network adapter "user.0" is usually the name
set_link user.0 down     // Shut the network down
set_link user.0 up       // Re-enable networking

НО:

Comment 16 by leonhard...@gmail.com, Sep 6, 2011
This work around doesn't work for me on MacOS 10.7.1 and SDK rev 12 (with platform 2.2, 2.1 and 2.3.3)
... ...
qemu monitor
KO: internal error: could not detach from console !

-> То же самое для меня в Windows Vista, SDK rev 19 и платформе 10 (2.3.3)

Но, возможно, это кому-то пригодится ...

...