# Cloud phone or a local Android emulator for your agent?

A local emulator is free when your machine has hardware acceleration and a screen. Cloud agents, CI without KVM, many phones at once and kept logins need a cloud phone.

Decisions3 min read

In this article

If your agent runs on your own laptop and the laptop has hardware acceleration, a local Android emulator is free and fast enough. Mobilebox runs cloud Android phones for AI agents at $0.01 a minute, ready for a first screenshot in 19.4 s in our November 2026 benchmark, for agents that run somewhere without acceleration: a cloud coding agent, a CI runner without KVM, a server running many agents at once, or any run that should find the last run’s logins still there.

Sources reviewed on November 8, 2026: [Android emulator acceleration](https://developer.android.com/studio/run/emulator-acceleration), [mobile-mcp](https://github.com/mobile-next/mobile-mcp) and the [android-emulator-runner action](https://github.com/ReactiveCircus/android-emulator-runner).

Measured timings: [/benchmarks](https://mobilebox.dev/benchmarks).

## When the local emulator is the right call

The Android Emulator needs hardware virtualization: KVM on Linux, the Hypervisor Framework on macOS, and WHPX or AEHD on Windows. With it, a developer machine runs one or two emulators comfortably. A local MCP server such as mobile-mcp connects your agent to it over ADB. You pay nothing per minute, and you see the window.

## Where it stops working

- **Cloud agents.** Codex cloud tasks, Claude Code on the web, Cursor background agents and most hosted agents run in Linux containers without nested virtualization or a display. There is no emulator to start, but there is a network, so an MCP URL works.

- **CI.** Many runners have no KVM, and the emulator then won’t boot or crawls. [The no-KVM guide](https://mobilebox.dev/blog/android-emulator-without-kvm) has a curl script that installs the APK on a cloud phone from any runner.

- **Many phones.** Each emulator takes several gigabytes of memory and CPU cores. Running 20 agents side by side means 20 phones, which a laptop can’t hold and a cloud account creates with 20 calls; see [phones in parallel](https://mobilebox.dev/blog/run-android-phones-in-parallel).

- **State between runs.** A local emulator keeps state only on that machine. A parked Mobilebox phone keeps apps, data and logins for whichever agent picks it up next, and costs nothing while parked.

## Side by side

|  | Local emulator | Mobilebox phone |
| --- | --- | --- |
| Needs | Hardware acceleration, RAM, a desktop | An HTTPS connection and an API key, or MCP sign-in |
| Agent connection | Local MCP server over ADB | Hosted MCP server or REST |
| Cost | Your machine | $0.01 per phone-minute, billed per second; parked free |
| Devices | Android images; iOS Simulator on a Mac | Cloud Android, iPhone and iPad, real Android devices |
| Many at once | As many as the machine holds | One create call each |

Many teams keep the emulator for hands-on work and point the agents that run unattended at a cloud phone. Both speak MCP, so the agent’s prompt stays the same.

## Try it in your agent in 60 seconds

Paste this into Claude Code, Cursor, Codex or any agent that can read a web page. It asks for your email, gets its own key at once and adds the phone tools; the 6-digit code from your inbox keeps the workspace.

```
Set up Mobilebox for me: read https://mobilebox.dev/setup.md?via=mobilebox-vs-local-emulator and follow it.
```

[What your agent reads](https://mobilebox.dev/setup.md?via=mobilebox-vs-local-emulator)

In this article

[All articles](https://mobilebox.dev/blog)

## Next questions

- [Mobilebox, Limrun or Mobilerun?](https://mobilebox.dev/blog/mobilebox-vs-limrun?via=next-limrun)

- [How do I add it to Cursor, Codex or VS Code?](https://mobilebox.dev/blog/android-mcp-cursor-codex-vscode?via=next-setup)

- [Can my agent run 50 phones in parallel?](https://mobilebox.dev/blog/run-android-phones-in-parallel?via=next-parallel)

- [Can my agent use an iPhone?](https://mobilebox.dev/ios?via=next-iphone)

- [Can each phone get a residential IP?](https://mobilebox.dev/blog/residential-ip-per-phone?via=next-residential-ip)

- [Does my agent stay logged in between runs?](https://mobilebox.dev/blog/park-resume-android?via=next-logins)

- [Can I watch my agent work live?](https://mobilebox.dev/live-view?via=next-live)

- [What does it cost for a team?](https://mobilebox.dev/blog/mobilebox-pricing-for-teams?via=next-team)
