Skip to content
SPECIFICTION
Get listed

Cuttlefish

source.android.com

LinuxSelf-hosted
Visit source.android.com
Spec score 7.6 #14 of 19 in Android emulators

What it is

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.

Spec sheet

What it does
Cuttlefish is a configurable virtual Android powered device that runs remotely or locally.Read 8 Oct 2026 · source.android.com
Purpose
It lets platform and app developers develop and validate code changes without depending on physical hardware.Read 8 Oct 2026 · source.android.com
Product
Cuttlefish is a configurable virtual Android-powered device that runs locally or remotely.Read 8 Oct 2026 · source.android.com
Access
Cuttlefish registers as a normal device with adb and can be viewed and controlled in a browser through a local WebRTC webview.Read 8 Oct 2026 · source.android.com
ADB and remote desktop
Cuttlefish registers as a normal device with adb and can be interacted with through remote desktop.Read 8 Oct 2026 · source.android.com
Cloud
Cuttlefish natively supports Google Cloud; support for other cloud platforms is planned.Read 8 Oct 2026 · source.android.com
Cloud support
Cuttlefish natively supports Google Cloud, while support for other cloud platforms is described as planned.Read 8 Oct 2026 · source.android.com
Configuration
Users can adjust device form factor, RAM, and CPU count.Read 8 Oct 2026 · source.android.com
Desktop platforms
LinuxRead 19 Sep 2026 · source.android.com
Framework fidelity
Cuttlefish aims to closely reproduce Android framework behavior, including custom framework implementations.Read 8 Oct 2026 · source.android.com
Host platforms
The documentation says Cuttlefish can run locally on Linux x86 and ARM64 machines.Read 8 Oct 2026 · source.android.com
Host requirement
Cuttlefish requires virtualization with KVM available on the host machine.Read 8 Oct 2026 · source.android.com
Intended use
It helps platform and app developers develop and validate code changes without depending on physical hardware.Read 8 Oct 2026 · source.android.com
Limit
Cuttlefish differs from physical devices mainly at the hardware abstraction layer and in software that interacts with custom hardware.Read 8 Oct 2026 · source.android.com
Multi-instance
YesRead 19 Sep 2026 · source.android.com
Notable limitation
Differences from physical devices include the hardware abstraction layer and software that interacts with custom hardware.Read 8 Oct 2026 · source.android.com
Parallel devices
Cuttlefish supports running multiple devices in parallel and concurrent test execution.Read 8 Oct 2026 · source.android.com
Platform support
Cuttlefish runs locally on Linux x86 and ARM64 machines.Read 8 Oct 2026 · source.android.com
Scale
Cuttlefish supports running multiple devices in parallel and concurrent test execution.Read 8 Oct 2026 · source.android.com
Setup
The documented setup builds and installs Debian host packages and downloads device images and a host package from Android Continuous Integration.Read 8 Oct 2026 · source.android.com
Testing
Documented testing uses include CTS, framework compliance, continuous integration, and custom test suites.Read 8 Oct 2026 · source.android.com
Virtualization requirement
Launching Cuttlefish requires host virtualization with KVM available.Read 8 Oct 2026 · source.android.com

Strong points and limits

Strong points

  • Free and open source
  • Supports multiple devices and concurrent tests
  • Registers with adb as a normal device
  • Configurable form factor, RAM, and CPU count

Limits

  • Requires host virtualization with KVM
  • Local operation is listed for Linux x86 and ARM64
  • Other cloud platform support is planned
  • Differs from physical devices around custom hardware

Who it suits

It suits Android platform and app developers validating framework or application changes, especially teams running parallel devices or concurrent test suites. It requires a Linux x86 or ARM64 host with KVM available.

Verdict

Cuttlefish offers configurable virtual Android devices for development and testing without physical hardware. Its host needs Linux and KVM, and its representation diverges around custom hardware.

Where Specifiction places it

Alternatives to CuttlefishAll alternatives →