简述:
Docker-Android 是一个 Docker 镜像,用于与 Android 相关的一切。它可用于应用程序开发和测试(本机、Web 和混合应用程序)。
使用该项目的优势
- 具有不同设备配置文件和皮肤的模拟器,例如三星 Galaxy S6、LG Nexus 4、HTC Nexus One 等。
- 支持 vnc 以便能够看到 docker 容器内部发生的事情
- 支持日志共享功能,所有日志都可以从 web-UI 访问
- 能够使用 adb connect 从外部容器控制模拟器
- 与其他云解决方案集成,例如 Genymotion Cloud
- 它可以用来构建 Android 项目
- 它可用于使用不同的测试框架(例如 Appium、Espresso 等)运行单元和 UI 测试。
docker-images 列表
Android版本 | API应用程序接口 | 具有最新发行版本的镜像 | 具有特定发行版本的映像 |
---|---|---|---|
9.0 | 28 | budtmo/docker-android:emulator_9.0 | budtmo/docker-android:emulator_9.0_<release_version> |
10.0 | 29 | budtmo/docker-android:emulator_10.0 | budtmo/docker-android:emulator_10.0_<release_version> |
11.0 | 30 | budtmo/docker-android:emulator_11.0 | budtmo/docker-android:emulator_11.0_<release_version> |
12.0 | 32 | budtmo/docker-android:emulator_12.0 | budtmo/docker-android:emulator_12.0_<release_version> |
13.0 | 33 | budtmo/docker-android:emulator_13.0 | budtmo/docker-android:emulator_13.0_<release_version> |
14.0 | 34 | budtmo/docker-android:emulator_14.0 | budtmo/docker-android:emulator_14.0_<release_version> |
- | - | budtmo/docker-android:genymotion | budtmo/docker-android:genymotion_<release_version> |
设备列表
类型 | 设备名称 |
---|---|
电话 | 三星 Galaxy S10 |
电话 | 三星 Galaxy S9 |
电话 | 三星 Galaxy S8 |
电话 | 三星 Galaxy S7 Edge |
电话 | 三星 Galaxy S7 |
电话 | 三星Galaxy S6 |
电话 | Nexus 4 系列 |
电话 | Nexus 5 系列 |
电话 | Nexus One |
电话 | Nexus S |
片 | Nexus 7 系列 |
要求
- Docker 已安装在您的系统上。
快速开始
-
如果您在主机上使用 Ubuntu 操作系统,则可以跳过此步骤。对于 OSX 和 Windows 操作系统用户,您需要使用支持在 Ubuntu 操作系统下进行虚拟化的虚拟机,因为该镜像只能在 Ubuntu 操作系统下运行。
-
您的计算机应支持虚拟化。要检查是否启用了虚拟化,请执行以下操作:
sudo apt install cpu-checker kvm-ok
-
运行 Docker-Android 容器
docker run -d -p 6080:6080 -e EMULATOR_DEVICE="Samsung Galaxy S10" -e WEB_VNC=true --device /dev/kvm --name android-container budtmo/docker-android:emulator_11.0
-
打开 http://localhost:6080 以查看正在运行的容器内部。
-
检查仿真器的状态
docker exec -it android-container cat device_status
持久保存数据
默认行为是在容器重启时销毁模拟设备。要持久保存数据,您需要在 以下位置挂载卷:/home/androidusr
docker run -v data:/home/androidusr budtmo/docker-android:emulator_11.0