Aplicaciones bajo proxy que no funcionan en emulador aunque Internet está funcionando
Hice posible la configuración de proxy en la versión 2.2 y 2.3 de android en el emulador y el Internet comenzó a funcionar, pero tengo una aplicación instalada (que sólo funciona con proxy) todavía no funciona. Cuando hice lo mismo para el emulador de la versión 4.0, estaba trabajando allí. ¿Puede alguien decir, ¿por qué no está trabajando en la versión 2.2 y 2.3, aunque Internet está funcionando.
- Indicadores de grupo en android.widget.ExpandableListView
- Emulador de Android no se muestra en Visual Studio
- Android Stop Emulator de la línea de comandos
- ¿Error en el clearCheck () de Android para RadioGroup?
- ¿Es posible ejecutar un emulador de Android sin configurar Eclipse
- Android Hello Map Ver problemas en el emulador
- Emulador de Android se niega a iniciar
- Error al iniciar AVD - "No se pudo abrir el archivo: (nulo) /system/build.prop: No existe tal archivo o directorio"
- Significado de parpadeo rojo en el emulador
- Cuando comienzo eclipse y ejecute el proyecto androide, se abre un nuevo emulador cada vez,
- La pantalla del emulador de Android llena sólo una parte de fracción de la pantalla del emulador de Android actual
- Instalar una aplicación de Google Play en Emulator
- ¿Hay una manera de cambiar la posición inicial predeterminada del emulador?
La configuración de su proxy en el emulador permite que la aplicación del navegador lo utilice, pero cualquier otra aplicación debe ser compatible con HTTP Proxy para acceder a Internet.
Suponiendo que use la clase DefaultHttpClient para conectarse a Internet, deberá agregar el siguiente código a su aplicación Android antes de realizar la conexión:
DefaultHttpClient client = new DefaultHttpClient(); HttpHost proxy = new HttpHost("yourproxy.domain.com", 3128); // Enter your proxy domain and port client.getParams().setParameter(ConnRoutePNames.DEFAULT_PROXY, proxy);
Si está utilizando un proxy autenticado, necesitará tener también estas líneas:
client.getCredentialsProvider().setCredentials( new AuthScope("yourproxy.domain.com", 3128), new UsernamePasswordCredentials("proxyusername", "password"));
Dado que desea que el mismo código funcione tanto en el emulador como en un teléfono real, debe agregar una configuración a la aplicación que permita al usuario activar o desactivar el uso del proxy e introducir el servidor proxy / puerto / credenciales En lugar de codificarlos en la aplicación.
También configuro un proxy para el emulador en el entorno de Eclipse. Se agregó correctamente la dirección de proxy al comando de inicio del emulador.
Sin embargo, todavía luchaba con él trabajando sólo en algunas aplicaciones (como el navegador) y no en otros (como Maps) hasta que entré en la configuración WiFi en el emulador y entró la dirección de proxy.
Tenga en cuenta que no puede utilizar http://
antes del nombre DNS en esta configuración como puede hacerlo en la línea de inicio del emulador. (Eso tomó una hora para averiguar.)
Debe probar esto (para Android 2.3):
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
Además, puede intentar definir proxy de forma explícita al iniciar el emulador a través del argumento http-proxy
emulator -avd yourAVD -http-proxy http://yourproxy:port