1. Royan AB
  2. Work
  3. Oh My Android
Oh My Android app icon
Oh My AndroidmacOS · Free and open source

The missing control panel for the Android Emulator.

Dark mode, font size, RTL, TalkBack, network speed and GPS: one click each, no adb commands. A Layout Inspector in dp, an accessibility audit, and an MCP server so AI agents can drive your emulator.

brew install --cask ateymoori/tap/oh-my-android
  • macOS 26 Tahoe or later
  • Apple silicon
  • Signed and notarized
  • MIT license

The problem

Testing an Android app means the same chores, over and over.

Switch to dark mode. Make the font huge. Change the language to Arabic to check RTL. Turn on TalkBack. Throttle the network to 3G. Each is buried in settings or needs an adb shell command you look up again. Oh My Android puts all of them in a floating panel next to the emulator. Every icon shows the device's real state, and one click changes it.

Appearance

Dark mode, font scale from 0.85× to 2×, display size, locale with RTL and pseudo-locales, rotation.

Your app

Restart, clear data, open a deep link, install an APK by drag and drop, reset permissions, force stop.

Network

Emulate LTE, 3G, EDGE or GPRS speed and latency. Airplane mode, Wi‑Fi and mobile data toggles.

Accessibility

TalkBack on and off, bold text, inverted colors, and an audit of TalkBack order and touch targets.

Simulate

GPS by city or coordinates, battery level and charging, fingerprint, incoming call and SMS.

Capture and snapshots

Screenshots copied to the clipboard, screen recording with audio, and emulator snapshots you restore in seconds.

Features in depth

Layout Inspector

Measure any screen in dp, like in Figma.

Freeze the screen and hover any element to see its size in dp. Click one, hover another, and read the distance between them. Works with Jetpack Compose and classic Views.

  • 8 dp grid, color picker and estimated text size in sp
  • Drop a Figma export on top and compare pixel by pixel
  • Press ⇧⌘A for a TalkBack order and touch-target audit
Hover a view to read its size and spacing in dp.

AI agents (MCP)

Your coding agent can see and drive the emulator.

A built-in Model Context Protocol server gives Claude Code, Codex, Cursor and VS Code 18 tools: take a screenshot, read the UI tree in dp, tap and type, switch to dark mode or RTL, read logcat and the app's database. The agent builds a screen, runs it, looks at the result and fixes it.

  • Access is Off, Read only or Full control, checked on every call
  • A UI tree about 10× smaller than raw uiautomator XML
  • All 18 tool definitions fit in about 3k tokens
  • One native binary: no runtime, no network
# Claude Code
claude mcp add --scope user oh-my-android -- ohmyandroid-mcp
# Codex CLI
codex mcp add oh-my-android -- ohmyandroid-mcp
AI Agents settings in Oh My Android: access level and one-step MCP setup for Claude Code, Codex, Cursor and VS Code
One-step setup for each agent, with an access switch you control.

No more adb commands

Every icon replaces a command you would otherwise look up.

TaskThe adb wayOh My Android
Dark modeadb shell cmd uimode night yesOne click
Bigger fontadb shell settings put system font_scale 1.3Aa − / +
Test RTL layoutadb shell cmd locale set-device-locale ar-EGPick from a menu
Slow networkadb emu network speed edgePick a profile
Mock GPS in Stockholmadb emu geo fix 18.0686 59.3293Pick a city
Animations off for UI tests3 × adb shell settings put global …_scale 0One click
Clear app dataadb shell pm clear <package>One click
Screenshotadb exec-out screencap -p > shot.pngSaved and copied

Screenshots

Native SwiftUI, light on the battery.

Event-driven, no Electron, no telemetry. The only network request is an optional daily update check, and updates install only when you choose.

FAQ

Questions about Oh My Android.

Is Oh My Android free?

Yes. It is free and open source under the MIT license.

Does it replace Android Studio or the Android Emulator?

No. It is a companion that controls Google's emulator and your phones through the Android SDK you already have. It bundles no emulator and no SDK.

Does it work with a real Android phone?

Yes, over USB or Wi‑Fi adb. Only emulator-only actions such as GPS, battery, calls, SMS, snapshots and network speed need an emulator.

Does it work with Jetpack Compose?

Yes. The Layout Inspector and the accessibility audit read the Compose semantics tree through uiautomator, the same as for Views.

Which AI agents can use the MCP server?

Any agent that supports MCP over stdio, including Claude Code, Claude Desktop, Codex CLI, Cursor, VS Code with GitHub Copilot, Windsurf and Gemini CLI.

Why is it not in the Mac App Store?

Mac App Store apps must run in the App Sandbox, and a sandboxed app cannot start adb. Releases on Homebrew and GitHub are signed and notarized by Apple instead.

Built by Royan AB

Need Android tooling, or an MCP server for your own product?

Book a consulting call