доступ к эмулятору Android через несколько минут работы прекратился - PullRequest
1 голос
/ 14 мая 2011

При работе с моим приложением, требующим доступа к сети ...

перестало работать сетевое соединение эмулятора Android 2.2 ...

Сеть работала нормально, но через некоторое время на эмуляторе не отвечала,

пока он работал на моей системе f9 ...

Я перепроверил сетевые соединения и перезапустил с эмулятором (даже создал новый avd). Но проблема остается той же, моя сеть не работает на эмуляторе ..

Я также проверил соединение с помощью клавиши F8 на эмуляторе ...

Сетевое разрешение для моего приложения включено ....

1 Ответ

3 голосов
/ 07 июня 2011

Наконец, после всего, что я сам нашел решение проблемы:

Это очень распространенная проблема, с которой сталкивалось большинство разработчиков Android ....

Недавно, при разработке приложения для Android, я столкнулся с ситуацией, которая потратила впустую 2 часа моего времени. Проблема была проста, мое приложение не могло получить доступ к Интернету из эмулятора Android.

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

Так в чем же была настоящая проблема, из-за которой мое приложение не имело доступа к интернету? Есть несколько причин, из-за которых эта проблема может возникнуть. Поэтому я решил задокументировать свои выводы, чтобы другие могли извлечь из этого пользу.

Есть два основных признака отсутствия интернет-соединения на эмуляторе Android ..... ** Только ваше приложение не может получить доступ к Интернету ** Ни одно из приложений не может получить доступ к Интернету Давайте рассмотрим причины каждого из них.

Только ваше приложение не может получить доступ к Интернету

Если только ваше приложение не может получить доступ к Интернету на эмуляторе, проверьте, могут ли другие приложения иметь доступ к Интернету или нет. Например, Вы можете открыть приложение браузера, перейдите на страницу http://news.google.com/. Если страница открывается правильно, проблема заключается в самом приложении и его легко исправить.

По сути, вашему приложению требуется разрешение для доступа в Интернет. Это можно сделать, добавив следующую строку непосредственно перед концом тега в файле AndroidManifest.xml вашего приложения.

Скомпилируйте и переустановите приложение в эмуляторе и попробуйте получить доступ к Интернету из вашего приложения. Это должно работать!

Для чего нужен тег использования-разрешения:

Приложение Android может запрашивать определенные разрешения, чтобы они могли нормально функционировать. Некоторые примеры разрешений: получить местоположение пользователя, сделать звонок, получить доступ к Интернету и т. Д. Приложение должно явно указать это в AndroidManifest.xml.

Когда конечные пользователи устанавливают такое приложение на свое устройство, ОС Android уведомит пользователя о том, что приложение запрашивает определенные разрешения. Если пользователи в порядке, то будет установлено только приложение. Остальные пользователи могут отказать в разрешении, и приложение не будет установлено.

Этот механизм представляет собой способ обеспечения безопасности и конфиденциальности пользователей в Android!

Это более сложная ситуация: Ни одно из приложений не имеет доступа к Интернету

Теперь эта ситуация сложная. Есть две причины, из-за которых это могло произойти Прокси-сервер не настроен на эмуляторе Неправильный DNS, используемый эмулятором

Настройка DNS-сервера: emulator.exe -avd 'android1.6' -dns-server 8.8.8.8

android1.6 - это ваше имя avd. Я создал avd с именем android1.6

Так что просто замените android1.6 на ваше avd-имя.

Запустите этот код в командной строке после установки пути к инструментам и инструментам платформы вашего Android SDK

...