Как настроить параметры Интернета для эмулятора Android?

Я использовал этот метод, чтобы получить доступ к Интернету из моего эмулятора Android эмулятора -http-proxy <<proxy-name>> -avd <<avd_name>>

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

Не могу найти интернет-опцию в "AVD Manager".

12 ответов

Вы также можете попробовать явно указать настройки DNS-сервера, это работает для меня.

В Затмении:

Window> Preferences> Android> Launch

Параметры эмулятора по умолчанию: -dns-server 8.8.8.8,8.8.4.4

По умолчанию вы должны иметь возможность переключать доступ в Интернет к вашему эмулятору с помощью F8 (в Windows) и Fn + F8 (в Mac OS X) - я думаю, что F8 также работает для Linux, но я не уверен на 100%.

С помощью этого ярлыка вы получите ACTION_BACKGROUND_DATA_SETTING_CHANGED.

Надеюсь, это поможет.

Для записей, поскольку это старый пост, и так как никто не упомянул его, проверьте, не забыли ли вы (как я) установить флаг android.permission.INTERNET в AndroidManifest.xml как, то есть:

    <manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.google.android.webviewdemo">
<uses-permission android:name="android.permission.INTERNET"/>
    <application android:icon="@drawable/icon">
        <activity android:name=".WebViewDemo" android:label="@string/app_name">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>
</manifest> 

-http-proxy может быть установлен в eclipse следующим образом:

  1. Окно меню
  2. Настройки подменю
  3. В диалоговом окне "Настройки" нажмите "Android" в левой части. Нажмите "Запуск рядом с параметрами эмулятора по умолчанию": введите ur -http-proxy

Добавьте поддержку GSM модема при создании AVD на ваших виртуальных устройствах из Android SDK и AVD Manager...

Привет, я также столкнулся с той же проблемой, решается с помощью следующих шагов:

причина 1:

Добавить интернет-разрешение в вашем приложении для Android

причина 2:

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

попробуйте ниже метод подключения сети в вашем компьютере

попробуйте явно указать настройки DNS-сервера, у меня это сработало.

В Затмении:

Window> Preferences> Android> Launch

Параметры эмулятора по умолчанию: -dns-server 8.8.8.8,8.8.4.4**

причина 3:

check: проверьте, используете ли вы более одного интернет-соединения с вашим компьютером, например, локальная сеть, вторая - модем, поэтому отключите все локальные сети или модем.

Именно настройка DNS сделала меня. Если вы используете плагины Eclipse или Netbeans, вы можете установить их с помощью параметров эмулятора по умолчанию или параметров эмулятора соответственно. Вы также можете использовать команду set из командной строки, если запускаете эмулятор из CLI. Во всех случаях опция "-dns-server xxxx,xxxx" без кавычек. В интерфейсе ADB нет возможности постоянно связывать эту опцию с вашим виртуальным устройством.

Удалить существующий и воссоздать эмулятор. На машине (windows/mac) должен быть доступ в интернет, а эмулятор Android получает доступ в интернет по умолчанию.

Если у кого-то есть разрешение на доступ к Интернету в AndroidManifest и у него все еще есть проблема с подключением к Интернету, возможно, это будет полезно: Android - Исправление проблемы отсутствия подключения к Интернету в эмуляторе.

Я следовал за шагами с этого сайта, и у меня все работает. Самое важное:

  • Настройка прокси-сервера на эмуляторе
  • Неверный DNS, используемый эмулятором

Это мой первый пост, поэтому я надеюсь, что он будет полезен.

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

Я видел различные предложения о том, как код может узнать, работает ли он на эмуляторе, но ни один из них не является вполне удовлетворительным или "ориентированным на будущее". В настоящее время я остановился на считывании идентификатора устройства, который является нулем для эмулятора:

TelephonyManager telmgr = (TelephonyManager) getSystemService (Context.TELEPHONY_SERVICE); логический isEmulator = "000000000000000".equals(telmgr.getDeviceId());

Но в развернутом приложении, которое требует разрешения READ_PHONE_STATE

Вы можете сделать это с помощью AVD Manager, выбрать Сервис -> Параметры. Установите прокси-сервер HTTP на 8.8.8.8,8.8.4.4

Эмулятор будет подключен.

Другие вопросы по тегам