Подтвердить что ты не робот

Как поместить AVD (эмулятор) в режим OFFLINE?

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

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

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

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

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

4b9b3361

Ответ 1

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

Ответ 2

WIFI:

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

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

$ adb shell svc data enable
$ adb shell svc data disable

Ответ 3

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

Сеть вниз:

adb shell ifconfig eth0 down

Сеть вверх:

adb shell ifconfig eth0 up

Если вы получили ошибку "Разрешить отказ", перезапустите adb daemon с правами root:

adb root

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

Ответ 4

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

Ответ 5

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

Ответ 6

Я нашел в своем представлении "Управление эмулятором", когда я настраиваю Voice и Data для "незарегистрированных", а не "denied" работает для меня. Теперь я, наконец, получил автономную сеть AVD, пока я все еще могу опубликовать этот ответ.

Ответ 7

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

Ответ 8

Старые вопросы, но я нашел решение:

  • Откройте командную строку: CTRL + R > cmd
  • Перейдите в папку инструментов Android.

    cd C:\Program Files\Android\android-sdk\tools

  • Запустите эмулятор с ложным DNS-сервером. Измените 2.3.3 на имя вашего AVD. @Запускает его:

    emulator.exe @2.3.3 -dns-server 127.0.0.1

Проверьте руководство для дополнительной команды параметры линии.

Ответ 9

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

Comment 15 by iscy%[email protected], 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 [email protected], 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)

Но, возможно, это полезно для кого-то...

Ответ 10

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

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.