Android-Emulator
Android-Emulator-CI auf GitHub Actions
Instrumentierungstests dauern 40 Minuten, da der Emulator in der Software ausgeführt wird.
4m → 25s
Emulator-Boot
40m → 9m
Testsuite
Instrumentierungstests dauern 40 Minuten, da der Emulator in der Software ausgeführt wird.
Warum es passiert
Ohne /dev/kvm greift der Emulator auf Software-Rendering zurück, das etwa zehnmal langsamer ist.
Was zu ändern ist
- Führen Sie es auf einem Runner aus, der KVM für den Job verfügbar macht
- Zwischenspeichern Sie den AVD-Snapshot, damit der Emulator warm startet
- Verwenden Sie nach Möglichkeit ein Headless-System-Image ohne Google Play-Dienste
- Shard-Instrumentierungstests über mehrere Emulatorinstanzen hinweg
Android-Emulator auf runnerhut
Die einzige runnerhut-spezifische Zeile ist „runs-on: runnerhut-8vcpu-ubuntu-2404“. Alles andere sind Standard-GitHub Actions – dieselben Aktionen, dieselben Geheimnisse und dasselbe Berechtigungsmodell, das Sie heute verwenden.
Ihr nächster Build könnte doppelt so schnell sein — zum halben Preis
Kostenlos starten. Der Wechsel zurück ist dieselbe eine Zeile — auch dieses Diff veröffentlichen wir.
Verwandt
Native reagierenBei jedem Build werden native iOS- und Android-Abhängigkeiten aus dem Quellcode neu kompiliert.iOSXcode wird von Grund auf neu erstellt und die Code-Signierung ist in CI fragil.AndroidGradle löst Abhängigkeiten neu auf und der Emulator verfügt über keine Hardwarebeschleunigung.FlatternDas Flutter SDK und der Pub-Cache werden bei jeder Ausführung und für jede Plattform heruntergeladen.