Docker-Android:容器化 Android 模拟器 3 分钟跑起来实战(附避坑清单)

发布时间:2026/9/11 12:49:28
Docker-Android:容器化 Android 模拟器 3 分钟跑起来实战(附避坑清单) Docker-Android容器化 Android 模拟器 3 分钟跑起来实战附避坑清单【免费下载链接】docker-androidAndroid in docker solution with noVNC supported, video recording and mcp server项目地址: https://gitcode.com/GitHub_Trending/do/docker-android你有没有在新电脑上装 Android SDK光下载系统镜像就等了 40 分钟Docker-Android 把模拟器、ADB、查看工具全装进一个镜像里。一条docker run之后浏览器里就能看到模拟器屏幕。核心能力速览这一步回答一个问题Docker-Android 能不能替代你本地的模拟器。覆盖 Android 9.0 到 14.0对应 API 28 到 34内置 12 款设备从三星 Galaxy S6 到 Nexus 7Web VNC浏览器打开 localhost:6080 即可看到并操作模拟器宿主机 adb 可直连容器内的模拟器加一个开关就能启用内置 Appium 服务端口 4723从零跑通这一步你会做三件事查虚拟化、起容器、确认屏幕能看。第 1 步检查 KVM 是否可用模拟器靠 KVM 加速没有它基本没法用。在 Linux 宿主机上执行sudo apt install cpu-checker # 安装检测工具 kvm-ok # 期望输出 KVM acceleration can be used看到KVM acceleration can be used就通过了。注意镜像只能在 Ubuntu 上运行macOS 和 Windows 需要先准备一个 Ubuntu 虚拟机。第 2 步最小化运行下面这条命令启动一个 Android 11 容器模拟 Samsung Galaxy S10并打开 Web VNC 端口docker run -d -p 6080:6080 \ -e EMULATOR_DEVICESamsung Galaxy S10 \ # ← 换成 12 款设备中的任意一款 -e WEB_VNCtrue \ --device /dev/kvm \ --name android-container \ budtmo/docker-android:emulator_11.0 # ← 按你需要的 Android 版本改 tag命令执行完容器就已在后台运行镜像较大时首次拉取需要几分钟。第 3 步验证成功等约 1 分钟容器首次启动稍慢。执行docker exec -it android-container cat device_status能看到设备状态说明模拟器已启动。再打开http://localhost:6080浏览器里就是容器内的 Android 桌面 下图是容器启动后的模拟器界面还能看到收到的短信通知进阶配置与深度用法这一步覆盖跑通之后最常用的两个需求数据持久化和 Appium 测试。配置数据持久化容器重启不丢数据默认行为是容器销毁时模拟器一起销毁装过的应用全部消失。挂载一个卷到/home/androidusr就能解决docker run -d -p 6080:6080 \ -v android-data:/home/androidusr \ # ← 命名卷数据跨容器保留 -e EMULATOR_DEVICESamsung Galaxy S10 \ -e WEB_VNCtrue \ --device /dev/kvm \ budtmo/docker-android:emulator_11.0你会看到删掉容器重建后应用和登录状态都还在。默认数据分区 550m不够就用环境变量EMULATOR_DATA_PARTITION900m调大。多设备并行跑 Appium 测试要覆盖多个 Android 版本时每个版本起一个容器端口错开互不冲突docker run -d -p 5555:5555 -p 4723:4723 \ -e EMULATOR_DEVICENexus 5 \ # ← 按测试矩阵换设备型号 -e APPIUMtrue \ --device /dev/kvm \ budtmo/docker-android:emulator_10.0 \ # ← 按被测版本换 tag adb connect localhost:5555adb connect返回 connected 即成功Appium 服务此时监听 4723 端口。第二台容器把 6080、4723 分别换成 6081、4724 即可。每款设备的外形和皮肤定义在 设备配置文件 里。真实落地场景你会看到两个最常见的真实用法分别对应测试和模拟设备行为。接入 Jenkins 做 UI 回归有每日构建的团队用它做流水线节点。Jenkins 任务里docker run起一个容器跑完 Appium 测试再删掉。每个任务独占一个干净环境测试环境和本地开发环境一致不需要养一台实体设备。向模拟器注入短信测登录流程App 的短信验证码登录没法靠真实 SIM 卡。用docker exec -it android-container adb emu sms send 号码 内容直接给容器里的模拟器发测试短信App 收到的效果和真机一致短信模拟文档 里有完整示例。Docker-Android 的使用者已经遍布多个国家和地区避坑指南⚠️ 下面三个是前几次运行最容易撞上的问题。容器起不来或模拟器极慢现象容器几秒就退出或模拟器慢到没法用。原因KVM 没开或命令里漏了--device /dev/kvm。解法进 BIOS 打开虚拟化用kvm-ok确认macOS 和 Windows 必须走 Ubuntu 虚拟机。6080 打不开或页面空白现象浏览器打开什么都没有。原因没传WEB_VNCtrue或没映射 6080 端口。解法两个参数都补上换端口时用WEB_VNC_PORT并同步改映射。容器重启后数据全丢现象之前装的应用不见了。原因默认数据分区在容器内部随容器销毁。解法按上一节挂载卷到/home/androidusr。拉一个和你 Android 版本对应的 tag照从零跑通里的命令跑再打开 6080 就行。更多环境变量比如日志 Web UI查自定义配置文档。【免费下载链接】docker-androidAndroid in docker solution with noVNC supported, video recording and mcp server项目地址: https://gitcode.com/GitHub_Trending/do/docker-android创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考