Documentación
Todo lo que hace EmuLabZip, una guía por función: desde el primer uso hasta la línea de comandos y el servidor MCP para asistentes de IA.
Primeros pasos
Instálalo, conecta tu primer emulador o simulador y resuelve los problemas habituales.
- Primeros pasosGuía de inicio de EmuLabZip: instala la app, prepara adb o Xcode, arranca un dispositivo y empieza a leer los logs de tu app en un par de minutos.
- AndroidCómo EmuLabZip se conecta a emuladores y dispositivos Android con el protocolo ADB, qué datos recoge, los estados de un dispositivo y consejos útiles.
- iOS SimulatorCómo EmuLabZip inspecciona el iOS Simulator con xcrun simctl, qué datos recoge, cómo manejar el log unificado y las limitaciones actuales.
- Dispositivos: emuladores y simuladoresCrea, arranca, detén, borra y limpia emuladores y simuladores desde la vista Devices o la CLI, y guarda snapshots de un emulador.
- Solución de problemasSoluciones a los problemas habituales de EmuLabZip: dispositivos que no aparecen, logs vacíos, Network, Traces, Crashes, Controls, Flows, plugins y MCP.
Inspecciona tu app
Logs, diseño, storage, fallos, stacks legibles, frameworks y web views.
- LogsEl visor de logs sigue logcat en Android y el log unificado en iOS en una sola tabla, con filtros por nivel, tag y búsqueda, y exportación.
- Layout y accesibilidadInspecciona las vistas en pantalla con Layout, lee sus propiedades y audita la accesibilidad, con simulación de daltonismo, desde la app, la CLI o MCP.
- StorageLa herramienta Storage explora los archivos de la app seleccionada y abre bases de datos, preferencias, plists e imágenes en el lugar, también desde la CLI.
- Cambiar los datos de una appCambia las filas SQLite, las SharedPreferences y los plists de una app en el dispositivo con cuidado: confirmación, copia de seguridad, verificación y deshacer.
- CrashesLa herramienta Crashes lista fallos, fallos nativos y ANR de un dispositivo, con su stack, pistas y avisos de nuevos fallos, en Android y en iOS Simulator.
- Stacks legiblesConvierte stacks de builds de release en nombres legibles con mapping.txt de R8, source maps de React Native y dSYM de iOS, guardados por app y versión.
- Dentro de los frameworksMira dentro de Flutter, React Native, Jetpack Compose y SwiftUI: detecta el framework de una app e inspecciona widgets, componentes, frames y memoria.
- Estado de React NativeLee el estado en vivo de una app de desarrollo de React Native, con Redux, React Query, contextos y stores propios, y sigue las acciones de Redux.
- Páginas web en las appsInspecciona las páginas web de las apps híbridas: lista las web views, lee su consola, ejecuta JavaScript y muestra sus peticiones en la vista Network.
Rendimiento
CPU, memoria, fugas, trazas, energía, tiempo de arranque y presupuestos.
- RendimientoLa herramienta Performance muestra la CPU, la memoria, los fotogramas y la batería de la app y del dispositivo en gráficos en vivo de los últimos dos minutos.
- MemoriaLa herramienta Memory muestra adónde va la memoria de la app, compara dos momentos para ver qué creció y genera volcados de heap en Android e iOS.
- Encontrar fugas en volcados de heapEmuLabZip lee un .hprof de Android por sí mismo y lista las fugas sospechosas, los dominadores y las clases por tamaño, sin otra herramienta.
- TrazasLa herramienta Traces graba lo que hicieron el sistema y una app durante unos segundos con Perfetto, simpleperf e Instruments, y te ayuda a ver por qué fue lento.
- EnergíaMide cuánta energía gasta una app durante un periodo de uso: estimación en mAh y wake locks en Android, y tiempo de CPU y estado térmico en iOS.
- Tiempo de arranque de la appMide cuánto tarda en abrirse una app, siempre de la misma forma y repetido varias veces para que la mediana signifique algo, en Android y en iOS.
- Presupuestos y líneas baseDefine en emulabzip.toml lo que puede costar una ejecución y deja que emulabzip ci falle si cuesta más, con presupuestos y comparación con una línea base.
Red
Captura, simula y cambia peticiones; GraphQL, gRPC, WebSockets, repetición y analytics.
- RedLa herramienta Network es un proxy de depuración integrado que descifra HTTPS y lista cada petición con sus headers, cuerpo y tiempos, sin cambiar tu app.
- Mocks y breakpointsLas reglas del proxy cambian lo que recibe una app sin tocar el servidor: simulan respuestas, ralentizan, bloquean o detienen una petición para editarla.
- Reglas de red: archivos, otros servidores y contratosCuatro acciones de regla más allá de responder: servir un archivo local, redirigir a otro servidor, comprobar un contrato OpenAPI y encadenar reglas.
- Scripts de reglasLos scripts de reglas son pequeños programas WebAssembly aislados que miran una petición o respuesta y deciden qué le pasa, y solo se ejecutan tras aprobarlos.
- Condiciones de redPrueba cómo se comporta una app con una red lenta, con latencia, con pérdidas o sin conexión, usando presets o tus propios números en el proxy.
- GraphQLNetwork nombra cada petición GraphQL por lo que pide y muestra su query y sus variables, para que una lista de POST /graphql sea legible.
- gRPC y protobufNetwork muestra las llamadas gRPC por el método al que llaman, con el estado del servidor, y lee los mensajes protobuf como JSON, con o sin archivos .proto.
- Mensajes WebSocketCómo EmuLabZip lee el tráfico WebSocket como mensajes en la pestaña Messages de Network, qué protocolo entiende y qué límites tiene cada flujo.
- Importar una captura de paquetesImporta un archivo .pcap o .pcapng en EmuLabZip y míralo como tráfico en vivo: peticiones HTTP, conexiones TLS y TCP, consultas DNS y cómo capturar.
- Repetir una grabaciónResponde las peticiones de la app desde una grabación para ejecutarla sin internet: cómo se emparejan, qué no cubre, uso en CI y en la app.
- Inspector de AnalyticsInspecciona los eventos que una app envía a Segment, Amplitude, Mixpanel y Firebase Analytics, ya decodificados, en una lista propia y en tiempo real.
Calidad
Seguridad y privacidad, tamaño de la build, idioma y tamaño de texto, regresión visual.
- Auditoría de seguridad y privacidadAudita la seguridad y privacidad de una app: secretos y datos personales en logs, preferencias y bases de datos, tráfico HTTP, manifiestos y componentes expuestos.
- Tamaño del buildDesmonta un APK, AAB o IPA para ver dónde están sus bytes, compara dos builds y haz que CI falle con un presupuesto de tamaño en emulabzip.toml.
- Idioma, tamaño de texto y texto que no cabeCambia el idioma y el tamaño de texto del dispositivo, comprueba si el texto no cabe en pantalla y barre una pantalla por varios idiomas y tamaños.
- Regresión visualGuarda una imagen de cómo debe verse una pantalla (línea base), compara y dibuja lo que cambió, y haz que CI falle cuando supera el límite.
Sesiones y CI
Graba una ejecución, lee su línea de tiempo, compara dispositivos, guarda el estado de la app, reporta errores y ejecuta en CI.
- SesionesUna sesión graba lo que pasó en un dispositivo mientras se usaba una app: logs, rendimiento, red, fallos, capturas y video en un solo archivo .ezsession.
- Línea de tiempo y video de pantallaPon logs, peticiones, toques, frames lentos y fallos de una sesión en un solo eje de tiempo y míralo con el video de pantalla grabado.
- Comparar dos dispositivosCompara dos dispositivos lado a lado mientras usas tu app en ambos: pantallas, gráficos de CPU y memoria, y las diferencias entre sus características.
- Estado de la app: guardar, restaurar y compararGuarda, restaura y compara el estado de una app (bases de datos, preferencias, archivos) en un archivo .ezstate para repetir errores y probar migraciones.
- Informes de errorEmpaqueta captura, dispositivo, log, peticiones fallidas y fallos legibles en un solo archivo HTML y abre un issue con el resumen ya rellenado.
- Modo CIGraba una sesión alrededor de cualquier comando, normalmente una ejecución de pruebas, y falla el pipeline por fallos, regresiones, presupuestos o auditorías.
Automatización e IA
Entrada y flujos, deep links, controles del dispositivo, el servidor MCP para asistentes de IA y plugins.
- Entrada y flujosToca, escribe y pulsa teclas en un dispositivo Android, graba lo que haces como flujo, repítelo y expórtalo como flujo de Maestro o script de shell.
- Deep linksAbre un deep link en el dispositivo y comprueba que el dominio y la app están de acuerdo: assetlinks.json, apple-app-site-association y firma.
- ControlsCambia lo que informa o hace un dispositivo: ubicación, apariencia, barra de estado, batería, permisos y notificaciones, y deshaz cada cambio.
- Servidor MCPConecta un asistente de IA a tus emuladores y simuladores con emulabzip mcp: herramientas, prompts, recursos y los límites de seguridad.
- MCP referenceEvery tool, prompt and resource of the EmuLabZip MCP server for AI assistants, by area, with its arguments and whether it reads, changes or asks first.
- PluginsCrea tu propio colector como plugin: una carpeta con plugin.json y un programa que imprime JSON, y EmuLabZip lo dibuja como gráficos y tablas.
Personalización
Temas y diseño.
- ThemesUsa uno de los diez temas de EmuLabZip, crea el tuyo en el editor, impórtalo o expórtalo como JSON y compártelo en la galería de la comunidad.
- Personalizar el diseñoCambia el tamaño de los paneles, ordena la barra lateral, ajusta el ancho de página, el texto, la densidad y la escala de EmuLabZip.
Referencia
La línea de comandos, la arquitectura, la distribución y la hoja de ruta.
- Línea de comandosReferencia de la línea de comandos emulabzip: dispositivos, logs, rendimiento, red, almacenamiento, sesiones, controles, plugins y servidor MCP.
- ArquitecturaCómo está organizado EmuLabZip: el workspace de Cargo, los crates por plataforma, el trait Backend, los streams, el proxy, el eje de tiempo y las reglas de diseño.
- DistribuciónCómo se publica una versión de EmuLabZip con GitHub Actions a partir de una etiqueta, cómo firmar los instaladores y cómo activar las actualizaciones.
- Hoja de rutaLas fases de desarrollo de EmuLabZip, de la conexión y observación de dispositivos al 1.0: qué trae cada versión, sus límites y las ideas todavía sin fase.
- Cómo funcionan las herramientas oficialesQué descubrimos al estudiar cómo Xcode Instruments y los profilers de Android Studio recogen sus datos, y qué interfaces públicas usa EmuLabZip en su lugar.