2010-03-13 2 views
44

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

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

Невозможно найти интернет-вариант в «AVD Manager».

+0

В моем случае, мобильные данные не была включена в настройках http://stackoverflow.com/a/21464099/1176454 – baptx

ответ

23

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

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

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

+5

Если подключение к Интернет с эмулятором, F8 полезен! – MduSenthil

+0

Это не дало никакой визуальной или какой-либо другой обратной связи, но после перезапуска эмулятора (фактически воссоздавая виртуальное устройство) у него был доступ в Интернет. –

5

-http-прокси может быть установлен в затмении так:

  1. Окно меню
  2. Подменю Настройки
  3. В настройках Dialog Нажмите Android в левой части Нажмите Launch Near По умолчанию Emulator Options: вход ur -http-proxy
+0

+1: с adt 1.7 вы найдете Android/Launch – k3b

0

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

4

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

56

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

В Eclipse:

Window> Preferences> Android> Launch

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

+1

Это сработало для меня! – rlc

+4

это устранило проблему для меня, где эмулятор будет чистеть только в некоторых сетях Wi-Fi, а не в других. 'emulator -avd adv_name -dns-server 8.8.8.8,8.8.4.4' – danmayer

+1

Спасибо, человек, это действительно сработало – curiousguy

3

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

6

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

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

1

Если кто-то есть интернет-разрешение в AndroidManifest и до сих пор есть проблемы с подключением к Интернету, возможно, будет полезно: Android - Fixing the no internet connection issue on emulator.

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

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

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

-2

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

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

+4

Это DNS-серверы Google, а не прокси-сервер. – aurbano

3
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 . 
0

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

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

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

Смежные вопросы