Naar inhoud springen

Android-emulator

Android-emulator CI op GitHub Actions

Instrumentatietests duren 40 minuten omdat de emulator in software draait.

4m → 25s
Emulator opstarten
40m → 9m
Testsuite

Instrumentatietests duren 40 minuten omdat de emulator in software draait.

Waarom het gebeurt

Zonder /dev/kvm valt de emulator terug op softwarerendering, wat grofweg tien keer langzamer is.

Wat te veranderen

  1. Draai op een hardloper die KVM blootstelt aan de taak
  2. Cache de AVD-snapshot zodat de emulator warm opstart
  3. Gebruik waar mogelijk een headless systeemimage zonder Google Play-services
  4. Shard-instrumentatietests voor verschillende emulatorinstanties

Android-emulator op runnerhut

yaml
jobs:
instrumentation:
runs-on: runnerhut-8vcpu-ubuntu-2404
steps:
- uses: actions/checkout@v4
- run: ls -l /dev/kvm
- uses: reactivecircus/android-emulator-runner@v2
with:
api-level: 34
arch: x86_64
script: ./gradlew connectedDebugAndroidTest
Een werkend uitgangspunt

De enige runnerhut-specifieke regel is `runs-on: runnerhut-8vcpu-ubuntu-2404`. Al het andere is standaard GitHub Actions — dezelfde acties, dezelfde geheimen en hetzelfde machtigingsmodel dat u vandaag de dag gebruikt.

Je volgende build kan twee keer zo snel zijn, voor de halve prijs

Begin gratis. Weggaan is dezelfde ene regel, en die diff publiceren we ook.