2010-03-13 18 views
44

He estado usando este método para acceder a Internet desde mi emulador de Android emulador -http-proxy <<proxy-name>> -avd <<avd_name>>¿Cómo configurar las opciones de Internet para el emulador de Android?

Funciona, pero es que la mejor manera de hacerlo? Simplemente no se siente bien que necesito abrir el emulador desde la línea de comandos y no puedo hacerlo desde Eclipse o algo así.

Parece que tampoco puede encontrar una opción de Internet en "Administrador de AVD".

+0

En mi caso, los datos móviles no se ha habilitado en la configuración http://stackoverflow.com/a/21464099/1176454 – baptx

Respuesta

23

De forma predeterminada, debería poder alternar el acceso a Internet a su emulador con F8 (en Windows) y Fn + F8 (en Mac OS X) - Creo que F8 también funciona para Linux, pero no soy 100 % Por supuesto.

Con este acceso directo, obtiene el ACTION_BACKGROUND_DATA_SETTING_CHANGED despachado.

Espero que ayude.

+5

Cuando la conexión a Internet está disponible con el emulador, F8 es útil! – MduSenthil

+0

Esto no dio ningún tipo de retroalimentación visual o de otro tipo, pero después de reiniciar el emulador (recreando el dispositivo virtual, en realidad), tenía acceso a Internet. –

5

-http-proxy se puede configurar en el eclipse de esta manera:

  1. ventanas Menú
  2. Preferencias del submenú
  3. En diálogo Preferencias Haga clic en la parte izquierda de Android Haga clic en Iniciar cerca Opciones del emulador por defecto: entrada ur -http-proxy
+0

+1: con adt 1.7 se encuentra Android/Launch – k3b

0

En una nota ligeramente diferente, tuve que hacer un dispositivo virtual sin GSM Modem Support para que Internet en mi emulador funcione.

4

Añadir GSM soporte modem, mientras que la creación de AVD en sus dispositivos virtuales de Android SDK y AVD Manager ...

56

También puede probar de forma explícita la especificación de la configuración del servidor DNS, esto funcionó para mí.

En Eclipse:

Ventana> Preferencias> Android> Lanzamiento

opciones por defecto del emulador: -dns-servidor 8.8.8.8,8.8.4.4

+1

¡Funcionó para mí! – rlc

+4

esto solucionó el problema para mí, donde el emulador solo obtendría la red en algunas redes wifi y no en otras. 'emulator -avd adv_name -dns-server 8.8.8.8,8.8.4.4' – danmayer

+1

Gracias, realmente funcionó – curiousguy

3

Se estaba poniendo el DNS que hizo el truco para mi. Si está utilizando los complementos de Eclipse o Netbeans, puede configurarlo a través de las opciones del Emulador predeterminado o las Opciones del emulador, respectivamente. También puede usar establecerlo desde la línea de comando si inicia su emulador desde CLI. En todos los casos, la opción es "-dns-server x.x.x.x, x.x.x.x" sin las comillas. No hay ninguna opción en la interfaz gráfica de usuario de ADB para asociar permanentemente la opción con su dispositivo virtual.

6

de los registros ya que este es un antiguo puesto y ya que nadie lo mencionó, compruebe si ha olvidado (como yo) para establecer el indicador android.permission.INTERNET en AndroidManifest.xml como, por ejemplo:

<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

elimine el existente y vuelva a crear el emulador. La máquina (Windows/Mac) debe tener acceso a Internet, y el emulador de Android obtiene acceso a Internet de forma predeterminada.

1

Si alguien tiene un Permiso de Internet en AndroidManifest y todavía tienen un problema con la conexión a Internet, tal vez eso será útil: Android - Fixing the no internet connection issue on emulator.

que siguieron los pasos de ese sitio web, y todo funciona para mí. El más importante:

  • Configuración del servidor proxy en el emulador
  • DNS incorrecta utilizada por el emulador

Esa es mi primer post, así que espero que será útil.

-2

Puede hacerlo usando el Administrador AVD, seleccione Herramientas -> Opciones. Establezca HTTP Proxy Server en 8.8.8.8,8.8.4.4

Se conectará el emulador.

+4

Son los servidores DNS de Google, no un servidor proxy. – 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

que he visto varias sugerencias de cómo el código puede averiguar si se ejecuta en el emulador, pero ninguno de ellos es bastante satisfactorio, o "a prueba de futuro". Por el momento me he decidido a leer la ID del dispositivo, que es todo ceros para el emulador:

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

Pero en una aplicación desplegada que requiere el permiso READ_PHONE_STATE

Cuestiones relacionadas