# hqarroum/docker-android

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/hqarroum-docker-android).**

3,639 stars · 224 forks · Shell · mit

## Links

- GitHub: https://github.com/HQarroum/docker-android
- awesome-repositories: https://awesome-repositories.com/repository/hqarroum-docker-android.md

## Topics

`android` `android-emulator` `ci-pipeline` `docker` `docker-android`

## Description

This project provides a containerized runtime for Android emulator virtualization, allowing virtual Android devices to run within isolated container environments. It is designed to support headless emulation and device orchestration for use in continuous integration and development pipelines.

The system differentiates itself by implementing GPU hardware acceleration via passthrough to improve graphics rendering performance. It also utilizes external SDK mounting and volume-mapped state persistence to reduce image size and maintain emulator data across restarts.

The environment supports remote debugging through network port mapping and the Android Debug Bridge. It allows for the customization of emulator specifications, including the target API level, CPU architecture, and operating system version.

Automated deployment scripts are provided to set up the container engine, verify hardware virtualization, and build the emulator image.

## Tags

### DevOps & Infrastructure

- [Containerized Emulator Runtimes](https://awesome-repositories.com/f/devops-infrastructure/containerized-emulator-runtimes.md) — Wraps an Android emulator and its dependencies inside an isolated container image for consistent deployment.
- [Filesystem Persistence Volumes](https://awesome-repositories.com/f/devops-infrastructure/container-orchestration/storage-volume-orchestration/filesystem-persistence-volumes.md) — Maps host directories to the container to persist the emulator's disk image and user data.
- [Container Storage Persistence](https://awesome-repositories.com/f/devops-infrastructure/container-storage-persistence.md) — Implements host-level storage mapping to ensure emulator state durability across service restarts. ([source](https://github.com/HQarroum/docker-android#readme))

### Mobile Development

- [Android Containerization](https://awesome-repositories.com/f/mobile-development/android-applications/android-containerization.md) — Provides a containerized runtime environment for running virtual Android devices on non-Android host operating systems. ([source](https://github.com/HQarroum/docker-android/blob/main/README.md))
- [Android Emulator Orchestration](https://awesome-repositories.com/f/mobile-development/android-emulator-orchestration.md) — Enables deploying and configuring multiple Android emulator instances with specific API levels and hardware profiles.
- [Android App Containers](https://awesome-repositories.com/f/mobile-development/android-runtime-execution/android-app-containers.md) — Provides a full Linux-based container environment for executing a virtualized Android runtime.
- [Emulator Image Configurations](https://awesome-repositories.com/f/mobile-development/android-system-customization/emulator-image-configurations.md) — Enables customization of the operating system version, CPU architecture, and image type during the emulator build process. ([source](https://github.com/HQarroum/docker-android/blob/main/README.md))

### Graphics & Multimedia

- [Hardware-Accelerated Rendering](https://awesome-repositories.com/f/graphics-multimedia/graphics-engines-rendering/rendering/engines/graphics-pipeline-architectures/hardware-accelerated-rendering.md) — Offloads the composition of visual layers to the host GPU for improved emulator display performance.
- [GPU Passthrough Acceleration](https://awesome-repositories.com/f/graphics-multimedia/media-processing-analysis/media-manipulation/media-processing/video-analysis-processing/hardware-accelerated-video-pipelines/gpu-passthrough-acceleration.md) — Implements direct GPU hardware passthrough to accelerate graphics rendering in the container. ([source](https://github.com/HQarroum/docker-android/blob/main/docker-compose.yml))

### Hardware & IoT

- [Hardware-Accelerated Emulators](https://awesome-repositories.com/f/hardware-iot/embedded-robotics/hardware-in-the-loop-simulators/binary-emulators/hardware-accelerated-emulators.md) — Leverages native hardware translation and GPU passthrough for high-performance Android emulation.

### Operating Systems & Systems Programming

- [Device Specifications](https://awesome-repositories.com/f/operating-systems-systems-programming/virtualization-emulation/hardware-emulators/hardware-interface-emulators/emulator-target-images/device-specifications.md) — Allows defining the API level, device architecture, and image type to target specific Android OS versions. ([source](https://github.com/HQarroum/docker-android#readme))
- [Headless Virtualization](https://awesome-repositories.com/f/operating-systems-systems-programming/virtualization-emulation/virtualization-platforms/virtualization-management/headless-virtualization.md) — Runs the Android system without a graphical user interface by leveraging a virtual frame buffer.
- [Headless Android Emulation](https://awesome-repositories.com/f/operating-systems-systems-programming/virtualization-emulation/virtualization-platforms/virtualization-management/headless-virtualization/headless-android-emulation.md) — Starts virtual Android devices within containers to provide a headless environment with configurable hardware profiles. ([source](https://github.com/HQarroum/docker-android#readme))
- [GPU-Accelerated UI Rendering](https://awesome-repositories.com/f/operating-systems-systems-programming/hardware-interfacing-drivers/hardware-acceleration/graphics-acceleration/gpu-accelerated-ui-rendering.md) — Utilizes GPU-accelerated pipelines to render the virtual Android user interface. ([source](https://github.com/HQarroum/docker-android/blob/main/Dockerfile.gpu))

### Data & Databases

- [Container Filesystem Mounts](https://awesome-repositories.com/f/data-databases/file-storage-systems/filesystem-mounts/mount-namespace-virtualization/container-filesystem-mounts.md) — Shares the Android SDK from the host filesystem into the container via filesystem mounts.
- [SDK Volume Mounts](https://awesome-repositories.com/f/data-databases/file-storage-systems/filesystem-mounts/mount-namespace-virtualization/container-filesystem-mounts/sdk-volume-mounts.md) — Supports mounting the Android SDK from a shared external filesystem to reduce image size. ([source](https://github.com/HQarroum/docker-android#readme))

### Development Tools & Productivity

- [ADB Remote Control Platforms](https://awesome-repositories.com/f/development-tools-productivity/adb-remote-control-platforms.md) — Exposes ADB functionality over the network for remote shell access and application deployment. ([source](https://github.com/HQarroum/docker-android/blob/main/Dockerfile.gpu))
- [Remote Debugging Bridges](https://awesome-repositories.com/f/development-tools-productivity/remote-debugging-bridges.md) — Provides a network interface to stream Android device state and actions to a local debugger. ([source](https://github.com/HQarroum/docker-android#readme))
- [Remote Debugging Environments](https://awesome-repositories.com/f/development-tools-productivity/remote-debugging-environments.md) — Provides a container-based environment for attaching development tools to remote Android devices. ([source](https://github.com/HQarroum/docker-android/blob/main/README.md))

### Networking & Communication

- [Remote Debugging Port Forwarding](https://awesome-repositories.com/f/networking-communication/remote-debugging-port-forwarding.md) — Maps virtual Android device ports to the host to enable IDE and debugger communication. ([source](https://github.com/HQarroum/docker-android/blob/main/Dockerfile))

### Testing & Quality Assurance

- [CI Integration Testing](https://awesome-repositories.com/f/testing-quality-assurance/ci-integration-testing.md) — Executes automated test suites within a containerized pipeline using headless Android emulators.
