EmuLabZip

Código abierto · MIT · v0.6

El laboratorio de depuración para tu emulador Android y simulador iOS

EmuLabZip reúne logs, tráfico de red, rendimiento, memoria, almacenamiento, fallos y accesibilidad de tus emuladores Android y simuladores iOS en una sola app nativa y rápida. No hay nada que instalar en el dispositivo.

cargo install --git https://github.com/LuisPeixoto/EmuLabZip emulabzip-cli
  • Rust + Tauri
  • macOS · Windows · Linux
  • Android + iOS
  • MCP para asistentes de IA
App de escritorio EmuLabZip mostrando el resumen de un emulador Android: compilación, hardware, pantalla, batería y vista previa en vivo

Compatible con

  • Android Emulator
  • iOS Simulator
  • ADB
  • simctl
  • Perfetto
  • Instruments
  • macOS
  • Windows
  • Linux

Todo en un solo lugar

Un laboratorio para todo lo que sabe tu emulador

Deja de saltar entre Logcat, Instruments, los perfiladores de Android Studio y un proxy. EmuLabZip usa las interfaces públicas de cada plataforma, así que sigue funcionando cuando se actualizan Xcode y Android Studio.

  • Logs en vivo

    logcat y el registro unificado de iOS en una tabla fluida con miles de líneas por segundo y filtros por nivel, etiqueta, texto y regex.

  • Rendimiento

    CPU, memoria, fotogramas por segundo, fotogramas lentos y batería de la app que elijas, en gráficas en tiempo real.

  • Memoria

    Instantáneas con diferencias por categoría, además de volcados de heap (.hprof) y grafos de memoria (.memgraph) a un clic.

  • Almacenamiento

    Explora el sandbox de una app y abre bases SQLite, preferencias, listas de propiedades, JSON e imágenes sin salir de la herramienta.

  • Proxy de red

    Descifra el HTTPS de tu app, lee cabeceras y cuerpos, sigue WebSockets y HTTP/3, exporta HAR e importa capturas de paquetes.

  • Mocks y breakpoints

    Responde tú mismo a una petición, ralentízala, bloquéala o detenla y edita la petición o la respuesta.

  • Trazas y flame graphs

    Trazas de sistema de Perfetto con SQL, simpleperf y grabaciones de Instruments, mostradas como flame graphs.

  • Fallos y ANR

    Fallos, fallos nativos y ANR con sus pilas, los datos que anotó el dispositivo y pistas para simbolizar.

  • Controles del dispositivo

    Cambia la ubicación, el modo oscuro, la barra de estado, la batería, los permisos, las notificaciones y los enlaces, siempre con vuelta atrás.

  • Diseño y accesibilidad

    Mira cada vista de una pantalla y audita etiquetas, áreas táctiles y contraste en Android y en el simulador de iOS.

  • Sesiones y CI

    Graba una ejecución completa en un archivo y deja que emulabzip ci grabe alrededor de tus tests en GitHub Actions.

  • Comparar dispositivos

    Dos emuladores lado a lado: ambas pantallas, gráficas de CPU y memoria y cada dato que difiere.

Míralo en acción

Pantallas reales de la app real

Cada imagen es una captura de EmuLabZip depurando un emulador Android o un simulador iOS.

Vista de red con peticiones HTTPS de un emulador Android y HTTP/2 y HTTP/3 en la columna de protocolo

Peticiones descifradas, con el protocolo usado

Cada petición de tu app con cabeceras, cuerpos decodificados y tiempos, y la versión de HTTP que usó cada una.

Diálogo de reglas con un mock que responde con el estado 418

Cambia lo que recibe tu app

Simula una respuesta, añade un retraso, bloquea una petición o detenla en un breakpoint, sin tocar el servidor.

Vista de diseño con una captura de Chrome en un emulador Android y el árbol de sus vistas

Cada vista de la pantalla

Una captura con el árbol de vistas al lado: nombres, tamaños, identificadores y qué se puede tocar.

Auditoría de accesibilidad con áreas táctiles pequeñas y texto de bajo contraste en una pantalla Android

Descubre con qué tropezaría un lector de pantalla

Etiquetas que faltan, áreas táctiles pequeñas y texto con poco contraste, con la vista, el criterio WCAG y la solución.

Vista de sesiones con el resumen de una ejecución grabada: un fallo, errores repetidos y peticiones lentas

Una ejecución completa en un archivo

Errores, fallos, peticiones, CPU y memoria de una ejecución, guardados en un archivo que abres después o recoges desde CI.

Flame graph de un perfil de CPU de un emulador Android

Adónde va el tiempo de CPU

Un perfil de CPU de todo el sistema como flame graph, coloreado según de quién es el código.

Vista de fallos con un ANR, el hilo principal bloqueado y pistas

Fallos, con lo que conviene probar

Pilas agrupadas por hilo, los datos del propio dispositivo y pistas para simbolizar.

Vista de comparación con un emulador Android y un simulador iOS lado a lado

Dos dispositivos lado a lado

Un emulador Android junto a un simulador de iPhone, con gráficas y una tabla de diferencias.

Para scripts y CI

Una línea de comandos con tablas para personas y JSON para scripts

El mismo motor que la app, en un binario pequeño. Úsalo en tu portátil o en tu pipeline de CI.

  • Simula o bloquea peticiones desde un archivo JSON con net --rules
  • Haz fallar una compilación cuando la pantalla empeora con a11y --fail-on
  • Graba logs, peticiones, fallos y capturas alrededor de tus tests con ci
  • Funciona en macOS, Windows y Linux, con emuladores Android y simuladores iOS

Pensado para asistentes de IA

Deja que tu asistente de IA mire el emulador

EmuLabZip incluye un servidor MCP. Conecta Claude, o cualquier cliente MCP, y podrá leer logs y fallos, hacer capturas, auditar una pantalla y controlar el dispositivo.

  • 29 herramientas: logs, fallos, trazas, diseño, sesiones y controles del dispositivo
  • Habla solo por entrada y salida estándar, sin abrir ningún puerto de red
  • Las acciones se validan y los plugins solo se ejecutan cuando tú los activas

Cómo conectar un asistente

Por qué EmuLabZip

Hecho para que le confíes tus dispositivos

Una herramienta pequeña, rápida y honesta, hecha a la vista de todos.

  • Código abierto, MIT

    Lee el código, ejecútalo, cámbialo. Sin cuenta, sin telemetría y sin conexiones propias.

  • Solo interfaces públicas

    ADB, simctl, Perfetto y el árbol de accesibilidad. Sin frameworks privados y sin agentes instalados en el dispositivo.

  • Android e iOS juntos

    Una herramienta y un mismo hábito para las dos plataformas, en lugar de una herramienta para cada una.

  • Nativa y ligera

    Un núcleo en Rust con interfaz Tauri: descarga pequeña, arranque rápido y poco consumo de memoria.

  • Deshace lo que cambia

    Los ajustes de proxy y los cambios en el dispositivo se restauran al parar, incluso después de un error.

  • Hecha para automatizar

    Cada función está en la línea de comandos y en el servidor MCP, con salida en JSON.

Hoja de ruta

Hacia dónde va EmuLabZip

Seis fases ya están hechas. Las cuatro siguientes llevan a una versión 1.0 estable.

  1. v0.1 – v0.3

    Observar

    Dispositivos, logs, rendimiento, memoria, almacenamiento y el proxy de red.

  2. v0.4

    Trazas

    Perfetto, simpleperf e Instruments, con flame graphs y SQL.

  3. v0.5

    Fallos y automatización

    Fallos, controles del dispositivo, un servidor MCP y plugins.

  4. v0.6

    Herramientas avanzadas

    Mocks, breakpoints, WebSockets, HTTP/3, diseño, accesibilidad, sesiones y CI.

  5. v0.8

    Dentro de los frameworks

    Flutter, React Native, Compose y SwiftUI; gRPC y GraphQL.

  6. v0.9

    Dispositivos y plataformas

    iPhones físicos, Android por Wi-Fi, Wear OS, TV y plataformas de Apple.

  7. v1.0

    Equipo y ecosistema

    Informes para compartir, bibliotecas de reglas, una extensión de VS Code y una promesa de estabilidad.

Preguntas

Preguntas frecuentes

¿Qué es EmuLabZip?

EmuLabZip es una app de escritorio y una herramienta de línea de comandos, gratuitas y de código abierto, para inspeccionar, monitorizar y depurar apps que se ejecutan en emuladores Android y simuladores iOS: logs, tráfico de red, rendimiento, memoria, almacenamiento, fallos, diseño y accesibilidad.

¿EmuLabZip es gratis?

Sí. EmuLabZip es de código abierto con licencia MIT. No hay cuenta, ni plan de pago, ni telemetría.

¿En qué sistemas operativos funciona?

En macOS, Windows y Linux. Los simuladores de iOS necesitan un Mac con Xcode, porque Apple solo los ofrece ahí. Los emuladores Android funcionan en los tres sistemas.

¿Tengo que instalar algo en el emulador?

No. EmuLabZip usa las herramientas públicas de cada plataforma (ADB y simctl), así que no se instala nada en el dispositivo ni dentro de tu app.

¿Puede ver el tráfico HTTPS de mi app?

Sí. El proxy integrado descifra el HTTPS cuando el emulador confía en el certificado de EmuLabZip, que la app instala por ti. Las apps que fijan su certificado pasan sin cambios.

¿Funciona con asistentes de IA?

Sí. EmuLabZip incluye un servidor MCP, de modo que asistentes como Claude pueden leer logs y fallos, hacer capturas, auditar la accesibilidad y controlar el dispositivo.

¿Puedo usarlo en CI?

Sí. El comando emulabzip ci graba una sesión alrededor de tu comando de tests, conserva su código de salida y puede hacer fallar la ejecución si la app se cierra o la pantalla tiene problemas de accesibilidad.

¿Admite dispositivos físicos?

Todavía no. Hoy se admiten emuladores Android y simuladores iOS. Los iPhone físicos y Android por Wi-Fi están previstos para la v0.9.

Empieza a depurar tus emuladores en un minuto

Descarga la app, arranca un emulador o un simulador y aparece solo.

Creado por Luis Peixoto

EmuLabZip lo crea y mantiene Luis Peixoto, ingeniero de software que trabaja en apps móviles con React Native y Flutter y que construyó el laboratorio que quería para depurar emuladores y simuladores.

GitHub · luispeixoto.dev