Ответ 1
Я вижу все те же проблемы. DDMS не полностью убивает его. Ни F8, ни F8. И также не включается режим самолета внутри эмулятора. Мы, вероятно, должны были бы star эта проблема кто-то зарегистрировался в 2009 году.
Я хотел бы проверить поведение моего приложения, когда пользователь находится в зоне отсутствия сигнала или когда его телефон находится в режиме полета.
- > Как разместить виртуальное устройство Android в автономном режиме (где невозможно подключение к Интернету)?
Я пробовал следующее:
Активация режима полета с помощью настроек AVD: удивительно, что это НЕ работает (просмотр в Интернете по-прежнему возможен в режиме полета!)
Отключение сетевого подключения на моем ПК: это, очевидно, работает, но не удовлетворительно, поскольку мне нужен Интернет, когда я тестирую свое приложение.
Я вижу все те же проблемы. DDMS не полностью убивает его. Ни F8, ни F8. И также не включается режим самолета внутри эмулятора. Мы, вероятно, должны были бы star эта проблема кто-то зарегистрировался в 2009 году.
WIFI:
$ adb shell svc wifi enable
$ adb shell svc wifi disable
МОБИЛЬНЫЕ ДАННЫЕ:
$ adb shell svc data enable
$ adb shell svc data disable
Я нашел рабочее решение. Проверено на Android 6.0 7,0 эмуляторами, но должно работать на других.
Сеть вниз:
adb shell ifconfig eth0 down
Сеть вверх:
adb shell ifconfig eth0 up
Если вы получили ошибку "Разрешить отказ", перезапустите adb daemon с правами root:
adb root
и повторите попытку.
Вы должны просто нажать F8 в окне эмулятора, он отключит сетевую сеть в соответствии с: http://developer.android.com/guide/developing/tools/emulator.html. Но я тестирую его, и он тоже не работает! Существует только сообщение о том, что нет подключения к интернету, но оно действительно работает...
Все, что я делаю, - это войти в меню "Окно", выбрать "open view- > other", чтобы открыть перспективу DDMS. В перспективе DDMS у вас есть представление "Управление эмулятором", в котором вы можете настроить латентность, роуминг, вы можете дать ему разные состояния телефона и данных. Итак, следуя этой процедуре, чтобы получить представление эмулятора, перейдите в раскрывающийся список "Данные" и выберите опцию "Отклонено".
Я нашел в своем представлении "Управление эмулятором", когда я настраиваю Voice и Data для "незарегистрированных", а не "denied" работает для меня. Теперь я, наконец, получил автономную сеть AVD, пока я все еще могу опубликовать этот ответ.
Вместо использования режима полета в эмуляторе Android (который не работает слишком хорошо) отключите сетевое подключение к вашей системе во время тестирования. То есть, коммутатор Ethernet-соединения или Wi-Fi. Работала хорошо для меня.
Старые вопросы, но я нашел решение:
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
Проверьте руководство для дополнительной команды параметры линии.
Один комментарий к проблеме, упомянутый Джеймсом Кочем, говорит, что существует обходное решение:
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)
Но, возможно, это полезно для кого-то...
Наконец, как насчет этого подхода.
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.