Наконец, после всего, что я сам нашел решение проблемы:
Это очень распространенная проблема, с которой сталкивалось большинство разработчиков 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