This task can be performed using Docker Android
Run Android emulators anywhere with one minimal Docker image
Best product for this task
Minimal Alpine-based Docker image that runs a customizable Android emulator as a network service with KVM acceleration, ADB port forwarding, and headless CI-friendly operation. Supports multiple API levels, GPU-accelerated variants, and optional persistent AVD storage for repeatable Android testing workflows.

What to expect from an ideal product
- Create custom AVD configurations that survive container restarts by mounting persistent storage volumes to preserve your emulator settings and installed apps across test runs
- Run identical Android environments on any machine using the same Docker image, ensuring your testing setup works the same way for developers, CI servers, and QA teams
- Set up multiple emulator instances with different Android API levels and configurations that maintain their state, letting you test against consistent device profiles every time
- Use headless operation for automated CI pipelines where the emulator starts with your saved AVD state, runs tests, and shuts down without losing any configuration changes
- Mount external directories to keep your AVD data separate from the container, so you can version control your emulator configurations and share them across your team
