在 Docker 里运行 Android 模拟器:一次跑通的实操指南 在 Docker 里运行 Android 模拟器一次跑通的实操指南【免费下载链接】docker-androidAndroid in docker solution with noVNC supported, video recording and mcp server项目地址: https://gitcode.com/GitHub_Trending/do/docker-android在 CI 里跑 Android UI 测试模拟器启动要等 40 分钟环境还和同事本机对不上。docker-android 是现成的 Android 模拟器容器镜像一条 docker run完整模拟器就在容器里跑起来浏览器里直接看屏幕。不用装 SDK不用下载系统镜像。一句话定位docker-android 是什么一个把 Android 模拟器、noVNC 网页屏幕、ADB 都装进预构建镜像的项目。相比原生 Android Studio 模拟器环境就是镜像省掉装 SDK、下系统镜像的步骤每台机器结果一致天然适合 CI拉镜像、跑、销毁不占用固定机器浏览器可访问开一个端口就能看到模拟器画面三步跑通第一个容器第一步用 kvm-ok 检查 KVM 权限模拟器依赖硬件虚拟化先在宿主机确认sudo apt install cpu-checker kvm-ok输出 KVM acceleration can be used 就通过了。⚠️ 镜像只在 Ubuntu 宿主上运行macOS/Windows 用户先准备一台 Ubuntu 虚拟机。第二步启动第一条 docker run这条命令启动 Galaxy S10、Android 11 的模拟器并在 6080 端口开放网页屏幕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标签就是 Android 版本emulator_9.0 到 emulator_14.0 可选见 README.md。第三步访问验证浏览器打开 http://localhost:6080 应该能看到模拟器界面。也可以用这条命令确认启动状态docker exec -it android-container cat device_status状态显示设备启动完成后这条链路就算跑通了。你最常用的四个能力浏览器打开模拟器屏幕WEB_VNCtrue启用 noVNC宿主机不用装任何 VNC 客户端。链接后加view_onlytrue还能只允许观看方便把画面分享给同事。从宿主机 adb connect 远程控制容器里多映射 5554、5555 两个端口宿主机执行adb connect 容器IP:5555后你本地的脚本和测试框架就能直接驱动容器里的设备详见 控制模拟器文档。一条命令模拟短信测应用的短信接收逻辑不用等真短信直接用 adb 发docker exec -it android-container adb emu sms send 12345678 hello多设备配置随参数切换EMULATOR_DEVICE支持 Galaxy S6/S7/S8/S9/S10、Nexus 4/5/7、Nexus 7 平板和 Pixel C换机型只改这一个参数完整设备表在 README.md。两个进阶工作流接入 Appium 跑 UI 测试需要自动化时启动命令加 4723 端口映射和APPIUMtruedocker run -d -p 6080:6080 -p 4723:4723 -e EMULATOR_DEVICESamsung Galaxy S10 -e WEB_VNCtrue -e APPIUMtrue --device /dev/kvm --name android-container budtmo/docker-android:emulator_11.0Appium Server 跑在容器内额外参数经APPIUM_ADDITIONAL_ARGS透传细节见 Appium 文档。挂进 Jenkins 流水线Jenkins 侧动作只有三步拉镜像、docker run、adb connect。完整 Job 配置看 Jenkins 文档部署到 AWS、GCP 等云上也都有现成说明。避坑速查kvm-ok提示不支持→ 依次查模块和权限lsmod | grep kvm、groups | grep kvm都正常再查 BIOS 虚拟化开关。KVM 权限配置基本就这一条链路macOS/Windows 启动失败→ 镜像只认 Ubuntu 宿主Windows 11 可用 WSL2 嵌套虚拟化步骤在 README.md容器重启后数据没了→ docker run 时加-v data:/home/androidusr挂载卷装过的应用和短信都不会丢外部 adb 连不上→ 确认映射了-p 5554:5554 -p 5555:5555不想让别人操作屏幕→ 网页链接加view_onlytrue或用VNC_PASSWORD设密码下一步docker-android 把容器化 Android 测试环境从搭半天变成一条 docker run环境是镜像、屏幕在浏览器、控制走 adb。现在可以 clone https://gitcode.com/GitHub_Trending/do/docker-android 按 README.md 里的最小示例完整跑一遍。【免费下载链接】docker-androidAndroid in docker solution with noVNC supported, video recording and mcp server项目地址: https://gitcode.com/GitHub_Trending/do/docker-android创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考