2008-08-26 45 views
49

¿Alguien ha logrado que el emulador de Android funcione detrás de un proxy que requiere autenticación?Proxy que requiere autenticación con Android Emulator

He tratado de establecer el argumento-http-proxy para

http://DOMAIN/USERNAME:[email protected]:PORT 

pero no estoy teniendo éxito.

He intentado seguir los documentos en vano. También probé la configuración -verbose-proxy, pero esto ya no parece existir.

¿Alguna sugerencia?

+1

¿Miraste esto? http://developer.android.com/guide/developing/tools/emulator.html#proxy Jay –

+0

@ AndroidRef.com no funciona ... –

Respuesta

41

Logré hacerlo en el Emulador Adndroid 2.2.

Go to "Settings" -> "Wireless & Networks" -> "Mobile Networks" -> "Access Point Names" -> "Telkila" 

Allí establecer el nombre de host del proxy en la propiedad "proxy" y el puerto del proxy en la propiedad "Puerto"

+0

si ingresa su nombre de usuario, recuerde incluir el nombre de dominio [dominio \ nombre de usuario] de lo contrario, obtendrá la ventana emergente de autenticación del proxy. – scottyab

+23

Estas configuraciones de proxy funcionan para el navegador en Android, pero no para la aplicación. ¿Alguien se enfrentó a un problema similar? –

+0

@AbhimanyuGrover sí, tengo el mismo problema, ¿ya lo resolvió? –

2

No he usado el emulador de Android pero he establecido la variable de entorno $ http_proxy para perl y wget y algunas herramientas de cygwin en Windows. Eso podría funcionar para Android, pero la barra en el nombre de dominio parece ser un problema potencial. Sé que he intentado tener mi dominio "global" de allí, pero terminó sacándolo y quedarse con: http://$USER:[email protected]:80

Un problema me encuentro con un montón de que se los programas que no se pueden contar para utilizar el proxy para las consultas DNS también. En los casos en los que no siempre recibo un nombre de host no encontrado. Me gustaría encontrar un resolvedor DNS local que pueda usar el proxy para todos los programas que no lo harán.

14

Recuerdo haber tenido el mismo problema - Después de buscar en la web, encontré esta solución - Desde la línea de comandos,

1. > adb shell 
2. # sqlite3 /data/data/com.android.providers.settings/databases/settings.db 
3. sqlite> INSERT INTO system VALUES(99,’http_proxy', 'proxy:port'); 
4. sqlite>.exit 

EDIT: respuesta Editado para reflejar la última versión de Android.

+2

en sdk 2.1, debería ser: sqlite3/data/data/com.android.providers.settings/databases/settings.db – Lily

+0

Lo estoy haciendo con 2.3, muestra el error: Error: no se puede abrir la base de datos "/data/data/com.google.android.providers.settings/databases/ settings.db ": no se puede abrir el archivo de base de datos –

+1

Se resuelve el error: en 2.3, debe ser sqlite3 /data/data/com.android.providers.settings/databases/settings.db como Lily ha indicado anteriormente. –

25

Parece que SDK 1.5 en adelante, la bandera -http-proxy tampoco funciona. Lo que funcionó para mí es iniciar la imagen de Android en el emulador y, una vez que se está ejecutando Android, vaya al Home > Menu > Settings > Wireless Controls > Mobile Networks > Access Point Names y luego configure la configuración del proxy HTTP para el punto de acceso predeterminado.

Con la configuración del proxy APN en su lugar, puedo obtener el navegador del emulador para navegar por la web. Sin embargo, otras cosas como Maps todavía no funciona.

3

Jay, aunque ese sería el lugar ideal para esta información, no se ha actualizado para 2.1. A continuación, enumeraré los métodos que actualmente NO funcionan para el emulador 2.1.

El argumento http-post no funciona para el emulador 2.1. Establecer un proxy en la lista APN dentro del emulador 2.1 no funciona. Insertar el proxy directamente en la tabla del sistema mediante sql-lite no funciona con 2.1.

De hecho, la ÚNICA manera de hacer que el navegador se conecte a Internet a través del emulador que he encontrado en 2.1, es NO usar un proxy en absoluto. Realmente espero que esto se resuelva pronto, ya que hay muchas personas con este mismo problema.

2

pude ver el tráfico con un rastreador de HTTP en lugar de un proxy . Usé HTTPScoop, que es una aplicación pequeña y agradable.

También lo bueno de usar HTTPScoop es que también puedo ver el tráfico en mi dispositivo real cuando activo el uso compartido de Internet y hago que mi teléfono use el wifi de mi Mac. Este es un buen negocio para depurar lo que sucede en el teléfono y en el emulador.

De esta manera no importa lo emulador utiliza, debido a que el sniffer ve el tráfico independiente de la configuración del emulador, dispositivo, etc. compilador

5
  1. Encuentre el archivo androidtool.cfg en C:\Documents and Settings\YOUR USER NAME\.android\

  2. añadir esta línea:

    [email protected] 
    
  3. Guarde el archivo y tratar de abrir el SDK de Android.

+1

obtengo error de autenticación de proxy 407 ... aún no funciona ... :( –

+0

407 significa que su Proxy necesita autentificación con nombre de usuario y contraseña – Radon8472

2

voy a explicar todos los pasos:

  1. Ir a la configuración de emulador de Android> Wireless & Red> Red móvil> Punto de acceso> Telkilla> y aquí hacen los ajustes necesarios, tales como proxy, puerto, etc.

creo que ahora todo está claro acerca de la configuración de proxy ...

+0

no funciona! Según mi conocimiento este es un problema con la configuración del proxy de Android ... – MA1

3
  1. Inicie el símbolo del sistema.

  2. Vaya a la carpeta donde se encuentra su emulador. En general, estará en la carpeta de herramientas del SDK de Android.

  3. A continuación, utilice el siguiente comando:

    emulator -avd <avd name> -http-proxy <server>:<proxy> 
    

    Mediante el uso de esto, vamos a ser capaces de acceder a Internet utilizando el navegador.

2

Para Android2.3.3 Configuración-> Wireless & Redes-> MobileNetworks-> AccessPointNames-> Telkila-> establecer el proxy y el puerto aquí (xx.xx.xx.xx y puerto)

+0

no funciona! Según mi conocimiento este es un problema con la configuración del proxy de Android ... – MA1

3

Usando el simulador de Android SDK 1.5 con proxy en Eclipse 3.45

Vaya a Explorador de paquetes -> Haga clic con el botón derecho en su proyecto Android -> Ejecutar como-> Ejecutar configuraciones.

En la aplicación Android en la columna de la izquierda, seleccione su proyecto -> en la columna de la derecha, donde verá Android | Objetivo | fichas comunes ->

Seleccionar destinatarios -> en la parte inferior “Comando Opciones adicionales emulador de línea” ->

-http-proxy http://www.gateProxy.com:1080 -debug-proxy http://www.gateProxy.com:1080

-> Ejecutar/Cerrar.

+0

Esto lo hizo por mí :-) –

5

Para configurar el servidor proxy, debemos establecer la configuración de APNS. Para ello:

  • ir ajuste
  • Ir a la tecnología inalámbrica y redes
  • Va a redes móviles
  • Ir para acceder a nombres de punto. Utilice el menú para añadir nuevos APNs
  • Conjunto Proxy = localhost
  • conjunto de puertos = puerto que está utilizando para hacer servidor proxy, en mi caso es 8989

Para establecer Nombre y APN aquí está el enlace :

de acuerdo con su tarjeta SIM se puede ver la tabla

1

que tenía el mismo problema cuando se utiliza el siguiente comando:

emulator-x86.exe -http-proxy domain\user:[email protected]:port -avd MyAVD 

Recibí el error de autenticación del proxy.

Finalmente, tuve que pasar por alto la autenticación de proxy NTLM mediante el uso de la Cntlm aquí:

http://sourceforge.net/projects/cntlm/

Y después simplemente configurando el cntlm.ini, utilizo el siguiente comando:

emulator-x86.exe -http-proxy 127.0.0.1:3128 -avd MyAVD 

y funciona :)

+0

¿Qué pasa si la contraseña tiene @? – pyus13

Cuestiones relacionadas