Repository navigation
EmuLabZip 0.5.0: crashes and automation
Phase 5: crashes and automation.
Added
- Crashes: crashes, native crashes and ANRs with their stacks, grouped by thread, with the facts the device wrote
down and hints for symbolication (retrace,ndk-stack,llvm-symbolizer,atos). Android reports come from
DropBox (no root needed); iOS Simulator reports are the.ipsfiles macOS writes. A toast and a sidebar badge tell
you when a new one happens. - Controls: location (emulators and simulators), light and dark mode, a clean status bar, battery level,
runtime permissions, notifications (a simulated push on iOS) and links, each with a way back. Every value is checked
before a device sees it; links that read local files or run script are refused. - MCP server (
emulabzip mcp): 25 tools that let an AI assistant list devices and apps, read logs, take
screenshots, measure performance and memory, browse app files, read crashes and traces, record traces, and control
the device. It speaks on standard input and output only. - Plugins: your own collectors as programs that print JSON lines (metrics, tables, text, logs). A plugin runs only
after the user enables it, tied to itsplugin.json, with a timeout and an output limit.emulabzip plugin new,
install,enable,run; a Plugins view in the app; two examples inexamples/plugins. - Command line:
emulabzip crashes,crash,control,pluginandmcp. tools/crash-appandtools/crash-app-ios: tiny apps that crash, hang and segfault on purpose, and
tools/live-tests.shto run every test that needs a device.
Fixed
- Starting the adb server no longer hangs on Windows. The server it leaves behind kept the output of EmuLabZip open, so
anything reading that output (a script, a pipe) waited forever. - A plugin run ends when its program exits, even if the program left a background process holding its output, and a
failing program's error output is no longer lost.