Skip to main content
Run Android emulators with hardware acceleration on Namespace runners. Namespace runners support hardware-accelerated Android virtualization using KVM. This enables fast Android emulator testing without the performance penalty of software emulation. KVM-backed Android emulators are currently supported on Linux AMD64 runners (linux/amd64). No additional KVM setup is required when using that platform.

Getting started

1

Create a runner profile

We recommend using a dedicated profile for Android Emulator workflows.Go to your runner profiles and create a profile named namespace-profile-android with:
  • Linux AMD64 ( linux/amd64 )
  • Enough resources for your emulator, 4 vCPU x 8 GB RAM is a good starting point
  • Caching enabled to cache Gradle dependencies.
Then use the created profile as your runs-on label:
2

Set up caching

Use namespacelabs/nscloud-cache-action to cache Gradle dependencies for faster builds:
3

Set up JDK and Android SDK

Use actions/setup-java and android-actions/setup-android to install the required tooling:
4

Run the emulator

Start an emulator and run your tests, for example by using the reactivecircus/android-emulator-runner action:

Full example

Here’s a complete workflow for running Android tests:

Gradle build cache

In addition to caching Gradle dependencies with Cache Volumes, you can also use Namespace’s Gradle build cache to share build outputs across runs. This is complementary to caching dependencies — while Cache Volumes store downloaded dependencies, the Gradle build cache stores compilation outputs and task results. To use both in your workflow:
Last modified on August 19, 2026