Cuttlefish vs QEMU
Cuttlefish
source.android.comQEMU
qemu.orgSide by side
| Figure | Cuttlefish | QEMU |
|---|---|---|
| Price from | — | Free |
| Free plan | — | Yes |
| Free trial | — | — |
| Open source | — | Yes |
| Windows | — | Yes |
| macOS | — | Yes |
| Linux | Yes | Yes |
| API | — | Yes |
| Self-hosted | Yes | Yes |
| Plans published | 0 | 2 |
| Spec score · Android emulators | 7.6 (#14) | 8.3 (#8) |
| Desktop platforms | Linux | Linux, macOS, Windows |
| Multi-instance | Yes | Yes |
| Purpose | It lets platform and app developers develop and validate code changes without depending on physical hardware. | QEMU is a generic and open source machine emulator and virtualizer. |
| What it does | Cuttlefish is a configurable virtual Android powered device that runs remotely or locally. | QEMU is an open-source machine emulator and virtualizer. |
Plans
In their own words
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.
QEMU
QEMU is a free, open-source machine emulator and virtualizer. System emulation models an entire machine, including its CPU, memory and devices, so it can run a guest operating system. User-mode emulation runs processes built for one CPU architecture on another. The package also includes qemu-img, a command-line utility for creating, converting and modifying disk images. QEMU can work with KVM, Xen and Hypervisor.Framework so guests can run directly on the host CPU. Supported build platforms include Linux, macOS, FreeBSD, NetBSD, OpenBSD and Windows. Windows support is limited to 64-bit, while macOS requires the newest version currently available; support for the prior version is eventually dropped. For complex networking and storage configurations, the project recommends management tools such as virt-manager. Its security guidance distinguishes virtualization with an accelerator and listed machine type from TCG non-virtualization use, which does not provide guest-isolation or security guarantees. QEMU is released under GNU GPL version 2, with some components under specific licenses.