Android Emulator vs Cuttlefish
Android Emulator
developer.android.comCuttlefish
source.android.comSide by side
| Figure | Android Emulator | Cuttlefish |
|---|---|---|
| Price from | Free | — |
| Free plan | Yes | — |
| Free trial | — | — |
| Open source | — | — |
| Windows | Yes | — |
| macOS | Yes | — |
| Linux | Yes | Yes |
| Android | Yes | — |
| Self-hosted | — | Yes |
| Plans published | 1 | 0 |
| Spec score · Android emulators | 9.0 (#2) | 7.6 (#14) |
| Desktop platforms | Windows, macOS, Linux, ChromeOS | Linux |
| Multi-instance | Yes | Yes |
| Purpose | Android Emulator simulates Android devices on a computer so developers can test apps across devices and Android API levels without physical devices. | It lets platform and app developers develop and validate code changes without depending on physical hardware. |
Plans
In their own words
Android Emulator
Android Emulator simulates Android devices on a computer so developers can test applications across device types and Android API levels without a physical device. It comes with Android Studio and needs no separate installation. Predefined virtual-device profiles cover phones, tablets, Wear OS, Android Automotive OS, and Android TV. An Android Virtual Device sets the Android version and hardware characteristics, and has private storage for user data, SD card data, and cache. The emulator can simulate calls, text messages, locations, network speeds, rotation, hardware sensors, and Google Play Store access. It supports multiple instances, keyboard mapping, gamepads, and root access. The first launch may take about a minute; later launches can use a snapshot and start faster. Supported systems include 64-bit Windows 10 or newer, macOS 12 or newer, Linux, and ChromeOS. The recommended baseline is 16 GB RAM and 16 GB disk space, with higher requirements possible for newer API levels or larger virtual devices. Android Studio on ChromeOS deploys apps only to connected hardware devices.
Cuttlefish
Cuttlefish is a configurable virtual Android-powered device that runs locally or remotely. It is intended for platform and app developers who need to develop and validate code changes without relying on physical hardware. The device aims to reproduce Android framework behavior closely, including custom framework implementations. Users can set its form factor, RAM, and CPU count, then run multiple devices at once with concurrent test execution. Documented uses include CTS, framework compliance, continuous integration, and custom test suites. Cuttlefish runs locally on Linux x86 and ARM64 machines and requires host virtualization with KVM. It registers with adb as a normal device and can be viewed and controlled in a browser through a local WebRTC webview. It natively supports Google Cloud; support for other cloud platforms is described as planned. Differences from physical devices mainly involve the hardware abstraction layer and software that interacts with custom hardware. Cuttlefish is free and open source, and its documented setup requires Debian host packages plus device images and a host package from Android Continuous Integration.