Cuttlefish
source.android.com
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
- Android emulators#14 of 197.6