Run it Locally! How to run your emulators in the cloud.
summary
Builds an emulator-as-a-service on Kubernetes that uses scrcpy sockets instead of WebRTC, exposes control via a gRPC API and an EMU CLI connect which port-forwards ADB keys to the laptop, and integrates with CI, Android Studio device manager and Healthline crash repro. GPU acceleration yields up to 3x UI-test speedups (average ~1.65x) while cutting VM CPU and reducing cost by ~40% through GPU sharing and lower cores. Internal uptake reaches 80% backend adoption, 50% Android.
AI-written summary · about
chapters (16)
- 0:00Introduction
- 1:27Remote dev at Uber
- 3:57Android emulator setup
- 5:21Emulator as a service
- 6:25WebRTC streaming issues
- 7:26Screencopy for performance
- 8:08GPU acceleration savings
- 10:58Kubernetes emulator setup
- 13:43CLI for emulator control
- 15:06Web UI features
- 16:09IntelliJ plugin plans
- 17:13Zero setup SDI
- 18:15Healthline crash integration
- 20:01Roadmap plans
- 22:08Key learnings
- 23:51Summary & Q&A
related talks
35mBest practices in using the Android Emulator
11mRunning Android emulators in Travis CI
34mAndroid Emulator deep dive
05mTest at scale with Gradle managed devices
47mOreo, Nougat, Marshmallow and Lollipop: Effective Android Testing in 2019
37mAndroid meets Docker
41mDevice Server for an Android Farm or Running More Than 30k Tests Every Day
37mSelenoid Infrastructure: How to Run 1,000,000 Android Tests in Parallel
