Skip to content

Guides

How to size runners for Android builds

Gradle assembles and instrumentation tests need very different machines.

4 min read

Gradle assembles and instrumentation tests need very different machines.

Why it happens

The build is CPU- and memory-bound; the emulator is bound by whether KVM is available at all.

How to fix it

  1. 8 vCPU with 4 GB per vCPU for assemble and unit tests
  2. For instrumentation tests, KVM availability matters far more than core count
  3. Each emulator instance wants roughly 2 cores and 3 GB — size for the shard count
  4. Split unit and instrumentation into separate jobs with different sizes

Your next build could be twice as fast, at half the price

Start free. Migrating away is the same one line, and we publish that diff too.