Docker-Android:如何3分钟在Docker容器里跑起Android模拟器
2026/9/11 9:52:22 网站建设 项目流程

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-android

Docker-Android是一个在Docker容器里运行完整Android模拟器的Docker镜像,支持Android 9.0到14.0多个版本和三星Galaxy、Nexus等设备配置。如果你要做移动端UI自动化测试、构建Android工程,或者不想在本机装一整套Android Studio,它很适合你。

最快上手路径:Docker-Android快速开始

开始前确认3点:

  1. 系统已安装Docker;
  2. 宿主机是Ubuntu(macOS/Windows用户需要先准备一个Ubuntu虚拟机,因为镜像只支持在Ubuntu下运行);
  3. CPU支持硬件虚拟化,可用kvm-ok命令检查。

然后执行下面这条命令,启动一台三星Galaxy S10的Android 11模拟器:

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即可。

核心价值:为什么选Docker-Android

  • 开箱即用的模拟器:一条docker命令启动带真实设备皮肤(如Galaxy S10、Nexus 7)的模拟器,用完销毁,不污染本机环境。
  • 看得见、查得到:内置VNC和Web界面,容器里发生什么你随时能看;日志还能通过Web UI直接访问。
  • 容器外可控制:宿主机上用adb connect就能连接并操作容器里的模拟器,测试脚本不用进容器。

它能帮你做什么:高频使用场景

场景一:用Appium做UI自动化测试。启动容器时打开4723端口并传APPIUM=true,Appium Server就会和模拟器跑在同一个容器里。好处是测试框架和设备版本天然匹配,不会出现"本地环境测过了、CI里挂了"的问题。

场景二:构建Android工程和跑单元测试。把你的工程目录挂载进容器,执行./gradlew build即可。构建工具链都预装好了,不用担心Gradle和SDK版本冲突。

场景三:模拟短信。测试短信验证码、消息提醒类功能时,用一条命令就能给模拟器发短信:

docker exec -it android-container adb emu sms send 13800000000 "验证码:1234"

进阶玩法:按需定制你的Docker-Android

如果你想让模拟器数据在容器重启后还在,可以在启动时加-v data:/home/androidusr挂载一个卷。默认行为是重启即销毁模拟设备,挂载卷后安装的应用、登录状态都会保留。

如果你想用宿主机的adb直接操作模拟器,可以把5554和5555两个端口映射出来,然后用adb connect 容器IP:5555连上。之后宿主机上的任何adb命令、测试框架都能直接驱动这台模拟器。

如果你想调整模拟器本身,比如扩容数据分区、改名字或去掉皮肤,可以通过EMULATOR_DATA_PARTITIONEMULATOR_NAMEEMULATOR_NO_SKIN等环境变量控制,具体参数见后文的配置文档。

常见坑与对策

模拟器起不来或卡顿明显。原因通常是CPU虚拟化没开启。处理:安装cpu-checker后执行kvm-ok确认,在BIOS里打开VT-x/AMD-V后再试。

重建容器后数据全没了。原因:默认行为就是容器重启时销毁模拟设备。处理:按进阶玩法里的方式,把卷挂载到/home/androidusr

应用装不上或提示空间不足。原因:模拟器默认数据分区只有550m。处理:启动时加-e EMULATOR_DATA_PARTITION=900m扩容。

下一步:继续了解Docker-Android

  • 自定义配置说明:VNC、日志共享、模拟器参数的完整列表
  • Appium UI测试指南:含额外参数和Selenium Grid接入
  • 构建Android项目教程:挂载目录到执行构建的完整步骤
  • 镜像构建脚本目录:想改镜像内容时从这里入手

建议先按第一节的命令把默认的S10 + Android 11组合跑通,再根据自己的测试场景挑一个用例深入。

<版本对照,供选择镜像用>
Android版本镜像标签
9.0budtmo/docker-android:emulator_9.0
11.0budtmo/docker-android:emulator_11.0
13.0budtmo/docker-android:emulator_13.0
14.0budtmo/docker-android:emulator_14.0

【免费下载链接】docker-androidAndroid in docker solution with noVNC supported, video recording and mcp server项目地址: https://gitcode.com/GitHub_Trending/do/docker-android

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询