
Docker-Android 安装与配置在容器里跑 Android 模拟器的完整指南【免费下载链接】docker-androidAndroid in docker solution with noVNC supported, video recording and mcp server项目地址: https://gitcode.com/GitHub_Trending/do/docker-androidDocker-Android 把 Android 模拟器打包成 Docker 镜像一条docker run命令即可在容器内启动带界面的手机环境并通过 noVNC 网页端直接查看屏幕。它解决了本地装模拟器太占资源、测试机不够用的问题适合做 Android 开发、自动化 UI 测试和 CI 流水线搭建的工程师。适用场景自动化 UI 测试跑 Appium、Espresso 等框架时需要一个干净、可重复、随时销毁重建的 Android 环境容器比物理设备更好管理。无头服务器上远程调试公司机房、Jenkins 节点没有图形界面Docker-Android 通过 6080 端口暴露 noVNC 页面浏览器打开就能看屏幕、点屏幕。短信、网络等边界情况模拟想验证收短信、换代理、改语言这类行为可以在不碰真机的情况下快速搭环境相关用法见 SMS 模拟文档。开始前的检查先确认四项前提缺一项都会在启动阶段报错Docker 已装好docker run --version能正常输出版本号即可。宿主系统镜像只在 Ubuntu 环境下运行。macOS 和 Windows 用户需要先装一台支持虚拟化的 Ubuntu 虚拟机Windows 11 用户可走 WSL2 硬件加速路线需在/etc/wsl.conf里配置/dev/kvm权限并在.wslconfig中开启nestedVirtualizationtrue。硬件虚拟化已开启这是最常见的坑。在 Linux 上执行下面两条命令确认sudo apt install cpu-checker kvm-ok看到KVM acceleration can be used才算通过。如果显示ERR去 BIOS 里打开 Intel VT-x 或 AMD-V。权限当前用户需要能访问/dev/kvm。WSL2 用户要执行sudo usermod -a -G kvm ${USER}后重启 WSL。快速启动以 Android 11 的 Samsung Galaxy S10 镜像为例按下面三步走。第 1 步拉取并启动容器docker run -d -p 6080:6080 -e EMULATOR_DEVICESamsung Galaxy S10 \ -e WEB_VNCtrue --device /dev/kvm \ --name android-container budtmo/docker-android:emulator_11.0-d后台运行-p 6080:6080把容器内 noVNC 端口映射到本机EMULATOR_DEVICE指定设备外观型号支持 S6 到 S10、Nexus 4/5/7 等完整清单见 README 设备列表WEB_VNCtrue开启网页端 VNC 访问--device /dev/kvm把宿主的 KVM 设备透传进容器没有它会退化为软件模拟启动会非常慢。预期结果命令返回容器 ID 后等待约 1~3 分钟浏览器打开http://localhost:6080应能看到模拟器启动过程黑色背景带绿色 ANDROID 字样随后进入 Android 桌面。异常提示如果页面一直空白优先检查/dev/kvm是否真的透传成功——执行docker exec android-container ls -l /dev/kvm无输出或权限拒绝就是 KVM 没配好。第 2 步确认模拟器状态docker exec -it android-container cat device_status输出为device ready说明容器内设备已就绪。第 3 步可选让数据在重启后保留默认情况下容器销毁后模拟器的数据全部丢失。需要保留时在启动命令里加一个卷docker run -d -v data:/home/androidusr budtmo/docker-android:emulator_11.0 ...把/home/androidusr挂到命名卷data后续重启容器数据不会丢。更多持久化、VNC 密码、日志共享等开关参考 自定义配置文档。关键参数说明只列真正影响体验的几项参数作用建议EMULATOR_DEVICE设备型号与外观按被测 App 的目标机型选如Samsung Galaxy S10WEB_VNC/WEB_VNC_PORT网页访问开关与端口多人共用服务器时改端口避免冲突VNC_PASSWORD给 VNC 加密码暴露在公网时必加WEB_LOG网页端查看容器日志排查问题时开EMULATOR_DATA_PARTITION数据分区大小默认 550m装大包时调大到 900m镜像 tagAndroid 版本emulator_9.0到emulator_14.0按测试目标 API 选验证与常见问题确认启动成功的两个标志一是http://localhost:6080能看到模拟器桌面二是cat device_status输出device ready。两个都满足才算配置完成。常见问题按出现频率排列启动极慢或卡黑屏99% 是 KVM 没生效。跑kvm-ok复测确认--device /dev/kvm写在启动命令里。6080 打不开先确认-p 6080:6080是否遗漏再确认WEB_VNCtrue是否设置两者缺一不可纯 VNC 客户端连 5900 端口则不需要WEB_VNC。重启后数据没了属预期行为加-v data:/home/androidusr卷即可。Mac/Windows 上完全跑不起来这是设计限制镜像仅支持 Ubuntu请改用虚拟机或 WSL2 方案。下一步建议容器跑起来之后可以按 使用场景文档 继续接 Appium 跑 UI 测试、用adb connect从宿主机直接控制模拟器或接入 Jenkins 做成流水线。若设备种类或云资源不够用项目还提供 Genymotion 集成的镜像详见 THIRD_PARTY_GENYMOTION.md。【免费下载链接】docker-androidAndroid in docker solution with noVNC supported, video recording and mcp server项目地址: https://gitcode.com/GitHub_Trending/do/docker-android创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考