You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
**Dockerify Android** is a Dockerized Android emulator supporting multiple CPU architectures (**x86** and **arm64**) with native performance and seamless ADB access. It allows developers to run Android virtual devices (AVDs) efficiently within Docker containers, facilitating scalable testing and development environments.
8
+
**Dockerify Android** is a Dockerized Android emulator supporting multiple CPU architectures (**x86** and **arm64** in the near future ...) with native performance and seamless ADB access. It allows developers to run Android virtual devices (AVDs) efficiently within Docker containers, facilitating scalable testing and development environments.
-[Build the Docker Image](#build-the-docker-image)
21
-
-[Run the Docker Container](#run-the-docker-container)
22
-
-[Usage](#usage)
23
-
-[Connect to Android VM from the Host](#connect-to-android-vm-from-the-host)
24
-
-[Connect to Android VM from a Remote Machine](#connect-to-android-vm-from-a-remote-machine)*
25
-
-[Roadmap](#roadmap)
26
-
-[Troubleshooting](#troubleshooting)
27
-
-[Contributing](#contributing)
28
-
-[License](#license)
29
-
-[Contact](#contact)
16
+
-[Features](#-features)
17
+
-[Prerequisites](#-prerequisites)
18
+
-[Installation](#-installation)
19
+
-[Usage](#-usage)
20
+
-[Roadmap](#-roadmap)
21
+
-[Troubleshooting](#-troubleshooting)
22
+
-[Contributing](#-contributing)
23
+
-[License](#-license)
24
+
-[Contact](#-contact)
30
25
31
26
## 🔧 **Features**
32
27
33
-
-**Docker Integration:**Easily deploy the Android emulator within a Docker container.
34
-
-**Multi-Architecture Support:**Runs natively on both **x86** and **arm64** CPU architectures.
28
+
-**Root and Magisk Preinstalled:**Comes with root access and Magisk preinstalled for advanced modifications.
29
+
-**PICO GAPPS Preinstalled:**Includes PICO GAPPS for essential Google services.
35
30
-**Seamless ADB Access:** Connect to the emulator via ADB from the host and other networked devices.
36
31
-**scrcpy Support:** Mirror the emulator screen using scrcpy for a seamless user experience.
37
32
-**Optimized Performance:** Utilizes native CPU capabilities for efficient emulation.
33
+
-**Multi-Architecture Support:** Runs natively on both **x86** and **arm64** CPU architectures.
34
+
-**Docker Integration:** Easily deploy the Android emulator within a Docker container.
38
35
-**Easy Setup:** Simple Docker commands to build and run the emulator.
39
36
-**Supervisor Management:** Manages emulator processes with Supervisor for reliability.
40
37
41
38
## 🛠️ **Prerequisites**
42
39
43
40
Before you begin, ensure you have met the following requirements:
44
41
-**Docker:** Installed on your system. [Installation Guide](https://docs.docker.com/get-docker/)
45
-
-**Docker Compose:** (Optional) For managing multi-container setups. [Installation Guide](https://docs.docker.com/compose/install/)
46
-
-**SSH Access:** To establish SSH tunnels from remote machines.
42
+
-**Docker Compose:** For managing multi-container setups. [Installation Guide](https://docs.docker.com/compose/install/)
47
43
-**KVM Support:** Ensure your system supports KVM (Kernel-based Virtual Machine) for hardware acceleration.
48
44
-**Check KVM Support:**
49
45
@@ -55,70 +51,25 @@ Before you begin, ensure you have met the following requirements:
55
51
56
52
## 🚀 **Installation**
57
53
58
-
### 🥇 **Using Pre-built Docker Images**
59
-
60
-
To simplify the setup process, you can use the pre-built Docker image hosted on Docker Hub.
61
-
62
-
1. **Pull the Pre-built Image:**
54
+
To simplify the setup process, you can use the provided [docker-compose.yml](https://github.com/Shmayro/dockerify-android/blob/main/docker-compose.yml) file.
63
55
64
-
```bash
65
-
docker pull shmayro/dockerify-android:latest
66
-
```
67
-
68
-
2. **Run the Pre-built Image:**
69
-
70
-
```bash
71
-
docker run -d \
72
-
--name dockerify-android \
73
-
--device /dev/kvm \
74
-
--privileged \
75
-
--network host \
76
-
shmayro/dockerify-android:latest
77
-
```
78
-
79
-
>**Note:** This command runs the container in detached mode, grants necessary privileges for KVM, and shares the host's network stack for seamless ADB access.
80
-
81
-
### 1. **Build the Docker Image**
82
-
83
-
Clone the repository and navigate to its directory:
Build the Docker image using the provided `Dockerfile`:
63
+
2. **Run Docker Compose:**
91
64
92
65
```bash
93
-
docker build -t android-ubuntu .
66
+
docker-compose up -d
94
67
```
95
68
96
-
> **Note:** This step may take several minutes as it installs necessary packages and sets up the Android SDK.
97
-
98
-
### 2. **Run the Docker Container**
99
-
100
-
Run the Docker container in **host network mode** to allow seamless ADB access:
101
-
102
-
```bash
103
-
docker run -d \
104
-
--name android-emulator \
105
-
--device /dev/kvm \
106
-
--privileged \
107
-
--network host \
108
-
android-ubuntu
109
-
```
110
-
111
-
> **Flags Explanation:**
112
-
> - `-d`: Runs the container in detached mode.
113
-
> - `--name android-emulator`: Names the container "android-emulator".
114
-
> - `--device /dev/kvm`: Grants the container access to KVM for hardware acceleration.
115
-
> - `--privileged`: Provides extended privileges necessary for KVM.
116
-
> - `--network host`: Shares the host's network stack, eliminating the need for explicit port mappings.
69
+
>**Note:** This command runs the container in detached mode, grants necessary privileges for KVM, and shares the host's network stack for seamless ADB access.
117
70
118
71
## 📡 **Usage**
119
72
120
-
### **A. Connect to Android VM from the Host**
121
-
122
73
1. **Connect via ADB:**
123
74
124
75
```bash
@@ -142,50 +93,13 @@ Run the Docker container in **host network mode** to allow seamless ADB access:
142
93
143
94
> **Note:** Ensure `scrcpy` is installed on your host machine. [Installation Guide](https://github.com/Genymobile/scrcpy#installation)
144
95
145
-
### **B. Connect to Android VM from a Remote Machine**
146
-
147
-
1. **Establish an SSH Tunnel:**
148
-
149
-
From your remote machine, set up an SSH tunnel to forward port `5555` to a local port (e.g., `4444`):
0 commit comments