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

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

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

Кажется, что не найти интернет-вариант в "AVD Manager".

Ответ 1

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

В Eclipse:

Window > Preferences > Android > Запуск

Параметры эмулятора по умолчанию: -dns-сервер 8.8.8.8.8.8.4.4

Ответ 2

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

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

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

Ответ 3

для записей, поскольку это старый пост, и, поскольку никто не упоминал об этом, проверьте, не забыл ли вы (как и я) установить флаг 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> 

Ответ 4

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

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

Ответ 5

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

Ответ 6

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

Ответ 7

Hi me also faced same issue , solved using below steps:

cause 1: 

Add  internet permission in your android application 
<uses-permission android:name="android.permission.INTERNET"/>


**cause 2:
Check the manually your default application is able access internet or not 
if not its problem of your emulator , check in your internet connection in your pc 

try below method to connect net in your pc 

try explicitly specifying DNS server settings, this worked for me.

In Eclipse:

Window>Preferences>Android>Launch

Default emulator options: -dns-server 8.8.8.8,8.8.4.4**


cause 3:
check : check if you are using more than one internet connection to your pc like one is LAN second one is Modem , 
so disable all lan or modem .

Ответ 8

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

Ответ 9

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

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

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

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

Ответ 10

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

Ответ 11

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

TelephonyManager telmgr = (TelephonyManager) getSystemService (Context.TELEPHONY_SERVICE); boolean isEmulator = "000000000000000".equals(telmgr.getDeviceId());

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

Ответ 12

Вы можете сделать это с помощью AVD Manager, выберите Инструменты → Параметры. Установите HTTP-прокси-сервер в 8.8.8.8.8.8.4.4

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