资讯动态

如何用 Docker 运行 Android 模拟器:3 分钟跑通 Docker-Android

发布时间:2026/9/11 14:19:01 来源:尧图企业网站定制
如何用 Docker 运行 Android 模拟器3 分钟跑通 Docker-Android【免费下载链接】docker-androidAndroid in docker solution with noVNC supported, video recording and mcp server项目地址: https://gitcode.com/GitHub_Trending/do/docker-androidCI 机器没有显示界面或者你不想在每台测试机上逐个安装 SDK、AVD 和各种驱动Docker-Android 能省掉很多麻烦它把一个开箱即用的 Android 模拟器打包进 Docker 镜像支持 Web VNC / VNC 远程查看画面、ADB 外部连接、日志 Web 页面覆盖 Android 9.0 到 14.0 共 6 个版本。先搞清楚它解决什么问题传统 Android 测试有三类反复出现的痛点一是环境漂移每台机器手工装 SDK、模拟器和设备配置版本差异细微出问题后很难复现二是无头机器跑不了模拟器CI 容器或云 VM 通常没有显示界面标准 AVD 根本无法显示三是设备版本矩阵太大跨多个版本、多种机型测试意味着要维护多套本地环境。Docker-Android 的思路是把模拟器装进镜像镜像标签与 Android 版本一一对应从 emulator_9.0 一直到 emulator_14.0设备配置则在启动时用环境变量选择覆盖三星 Galaxy S7 Edge / S8 / S9 / S10、Nexus 系列以及 Nexus 7、Pixel C 等平板。3 分钟拉起一台容器化模拟器前置条件主机装好 Docker 并开启硬件虚拟化KVMUbuntu 可直接使用macOS / Windows 用户需要先准备一台支持虚拟化的 Ubuntu 虚拟机。验证 KVM 是否可用安装 cpu-checker 后运行 kvm-ok 即可。 然后一条命令启动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启动后在浏览器打开本地 6080 端口就能看到模拟器画面上面截图正是其中的短信模拟页面。把标签换成 emulator_14.0 或 emulator_9.0 即可切换 Android 版本其余内容不用动。启动过程中可用容器内的状态文件确认开机进度docker exec -it android-container cat device_status画面与日志容器里是怎么运转的模拟器画面走容器内的 VNC 服务5900 端口noVNC 让你直接在浏览器里看WEB_VNC 设为 true 后6080 端口暴露为 Web UIURL 还能通过参数限制为只读或加密码保护。只想用 VNC 客户端连接的话映射 5900 端口并设置 VNC_PASSWORD 即可。日志同样 Web 化开启 WEB_LOG 后日志文件在 Web 页面默认 9000 端口可用 WEB_LOG_PORT 调整中直接查看。控制面上模拟器保留标准 ADB 端口外部测试框架或其他 CI 节点可以直接 adb connect 对接测试代码完全不需要感知模拟器跑在容器里。典型玩法Appium、Jenkins 与项目构建⚙️ 做 UI 自动化最常见的组合是 Appium开放 4723 端口并设置 APPIUMtrue 即可在容器内启动 Appium 服务端APPIUM_ADDITIONAL_ARGS 可以把参数透传给 Appium 2.x该容器还能不改项目直接注册到 Selenium Grid 4.x。具体用法见 Appium 用例文档。想接入流水线Jenkins 用例说明了如何在 CI 任务中管理这类容器同一套镜像也能用来构建 Android 项目、跑单元测试云侧还对接了 Genymotion Cloud 与 AWS 等平台。避坑与进阶两个最常踩的坑容器启动报 KVM 相关错误时先确认 /dev/kvm 存在且可读WSL2 场景还要额外开启嵌套虚拟化默认情况下容器重启会重置被模拟设备想保留应用数据和已装 APK需要把卷挂载到 /home/androidusr 目录。自定义配置常用的开关都是环境变量EMULATOR_NAME 改模拟器名称EMULATOR_DATA_PARTITION 调整数据分区默认 550mEMULATOR_NO_SKINtrue 去掉设备外壳直接启动EMULATOR_ADDITIONAL_ARGS 向模拟器透传参数详见 自定义配置文档。如果还需要 root 权限、无头模式、单容器多模拟器、直接对接 Selenium 4.x Hub可以看专业版 docker-android-pro它另外支持公司代理、多语言与更新的 Android 版本。这篇文章适合需要在无头机器或 CI 里跑 Android 模拟器的移动端开发、测试工程师和 DevOps 从业者。如果手头有一台可用 KVM 的机器建议先拉一个 emulator_14.0 镜像用 Web VNC 看画面再补上 ADB 连接把整条链路走一遍。【免费下载链接】docker-androidAndroid in docker solution with noVNC supported, video recording and mcp server项目地址: https://gitcode.com/GitHub_Trending/do/docker-android创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价