Cómo capturar HTTPS de Flutter en emuladores de Android
Actualización: 12 ene 2026
Proxyman 6.4.0 introdujo la configuración automática para emuladores de Android. Ahora puedes capturar el tráfico HTTPS de apps Flutter en emuladores de Android con solo unos clics.
Artículo original
Si alguna vez has intentado capturar tráfico HTTPS de una app Flutter en emuladores de Android, sabes lo frustrante que es. A diferencia de iOS, en Android esto es sorprendentemente difícil, y Flutter añade otra capa de complejidad.
Esta guía te muestra cómo hacerlo bien con Proxyman 6.4.0.
El problema
Depurar las llamadas de red de Flutter en emuladores de Android es complicado por varias razones:
- Flutter ignora la configuración de proxy del sistema — El HttpClient de Dart no usa el proxy del sistema de forma predeterminada, así que configurar un proxy en el emulador no servirá de nada.
- La confianza en certificados de Android — Desde Android 7, los certificados instalados por el usuario no son de confianza de forma predeterminada. Debes modificar la configuración de seguridad de red de tu app.
- La configuración manual es tediosa — Instalar certificados con adb, configurar el proxy de Wi-Fi, editar archivos XML... son muchos pasos y cualquiera puede salir mal.
Proxyman 6.4.0 simplifica esto con la configuración automática para emuladores de Android, pero aún necesitas configurar tu código Flutter para enviar el tráfico a través del proxy.

Requisitos previos
- Proxyman macOS 6.4.0 o posterior
- Android Studio con un emulador de Android (API 24+)
- Tu proyecto Flutter
✅ Solución nueva
- Abre tu emulador de Android en Android Studio: asegúrate de que sea una versión con Google APIs y no con Play Store.
- En Proxyman, ve a Certificate Menu → Install Certificate on Android → Emulator
- Asegúrate de que esté marcada la casilla “Install Proxyman VPN”.
- Haz clic en el botón “Override all Emulators”.

Eso es todo. Sin comandos adb manuales ni navegar por los ajustes de Android.
- En este punto, se instalará una VPN local nueva en tu emulador de Android. Haz clic en el botón “Start” para iniciar la VPN.
- Deberías ver que la VPN está en ejecución y que el estado es “Connected”.

- Ahora puedes ejecutar tu app Flutter en el emulador de Android.
- Deberías ver cómo Proxyman captura el tráfico HTTPS.

⚠️ Solución anterior
Si usas Proxyman 6.3.0 o una versión anterior, debes seguir la solución antigua.
Paso 1: configura el proxy en tu código Flutter
Flutter no respeta la configuración de proxy del sistema, así que debes configurar manualmente el cliente HTTP en tu código.
Así se hace según la biblioteca HTTP que uses:
Con el paquete http
import 'dart:io';
import 'package:http/io_client.dart';
// Use your Mac's IP address (shown in Proxyman's Android setup guide)
// For emulator, you can use 10.0.2.2 which points to your host machine
String proxy = '10.0.2.2:9090';
HttpClient httpClient = HttpClient();
httpClient.findProxy = (uri) {
return "PROXY $proxy;";
};
// Allow Proxyman's certificate
httpClient.badCertificateCallback =
((X509Certificate cert, String host, int port) => true);
IOClient myClient = IOClient(httpClient);
// Now use myClient for your requests
var response = await myClient.get(Uri.parse('https://api.example.com/data'));
Con Dio
import 'dart:io';
import 'package:dio/dio.dart';
import 'package:dio/io.dart';
String proxy = '10.0.2.2:9090';
Dio dio = Dio();
dio.httpClientAdapter = IOHttpClientAdapter(
createHttpClient: () {
final client = HttpClient();
client.findProxy = (url) => 'PROXY $proxy';
client.badCertificateCallback = (cert, host, port) => true;
return client;
},
);
// Now use dio for your requests
var response = await dio.get('https://api.example.com/data');
CONSEJO: 10.0.2.2 es un alias especial del emulador de Android que apunta al localhost de tu equipo. Es la forma más fácil de conectarse a Proxyman en tu Mac.
Activa badCertificateCallback solo durante el desarrollo. Elimínalo antes de publicar la app en producción.
Paso 2: configura el emulador de Android con Proxyman
Ahora viene la parte fácil. Proxyman 6.4.0 puede configurar automáticamente tu emulador de Android:
- Abre tu emulador de Android en Android Studio
- En Proxyman, ve a Certificate Menu → Install Certificate on Android → Emulator
- Haz clic en el botón “Override all Emulators”.

Eso es todo. Sin comandos adb manuales ni navegar por los ajustes de Android.
Paso 3: ejecuta tu app Flutter
- Asegúrate de que Proxyman esté en ejecución
- Ejecuta tu app Flutter en el emulador de Android:
flutter run
- Haz algunas solicitudes de red en tu app
- Revisa Proxyman: deberías ver el tráfico HTTPS de tu app Flutter
No olvides activar SSL Proxying para los dominios que quieras inspeccionar. Haz clic con el botón derecho en un dominio en Proxyman y selecciona “Enable SSL Proxying”.
Solución de problemas
Veo tráfico, pero muestra errores de SSL
- Si usas la configuración antigua, confirma que tu cliente HTTP de depuración acepta el certificado de Proxyman
- Verifica que el certificado esté instalado: Ajustes de Android → Seguridad → Cifrado y credenciales → Credenciales de confianza → pestaña Usuario
- Reinicia el emulador e inténtalo de nuevo
No aparece tráfico en Proxyman
- Revisa bien la configuración del proxy en el código Flutter
- Asegúrate de usar
10.0.2.2:9090(no localhost) - Comprueba que Proxyman esté en ejecución y escuchando en el puerto 9090
La app se cierra o fallan las solicitudes de red
- Comprueba que
badCertificateCallbackesté configurado correctamente - Asegúrate de que el emulador tenga acceso a internet (prueba a abrir Chrome en el emulador)
Resumen
Capturar HTTPS de Flutter en emuladores de Android requiere:
- Configurar el proxy en el código del cliente HTTP de Flutter
- Confiar en el certificado de Proxyman solo en tu configuración de depuración
- Usar la configuración automática de Proxyman para emuladores de Android
- Ejecutar tu app e inspeccionar el tráfico
Una vez configurado, puedes usar todas las herramientas de depuración de Proxyman (Breakpoint, Map Local, Scripting) para probar y depurar la capa de red de tu app Flutter.
Cuando termines, usa Revert All Changes en la ventana de configuración del emulador de Android, o elimina la VPN de prueba y el proxy del emulador. Nunca publiques badCertificateCallback ni una regla que acepte cualquier certificado. Estos atajos son útiles en una compilación local de depuración, pero hacen que una compilación de lanzamiento no sea segura.
Próximos pasos
- Capturar HTTPS de apps Flutter para iOS — Guía similar para el simulador y los dispositivos iOS
- Guía de configuración del emulador de Android — Guía detallada para apps Android nativas
- Capturar HTTPS de apps React Native — Si también trabajas con React Native
- Documentación de Proxyman para Flutter — Referencia técnica completa
Proxyman es una app de alto rendimiento para macOS, Windows y Linux que ayuda a los desarrolladores a capturar e inspeccionar el tráfico HTTP/HTTPS de iOS, Android, simuladores y emuladores.
Descárgala en https://proxyman.com
