news 2026/9/11 9:43:36

Docker-Android 完整指南:一条命令在 Docker 容器里跑起 Android 模拟器

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Docker-Android 完整指南:一条命令在 Docker 容器里跑起 Android 模拟器

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

Docker-Android 是一个开源项目,帮你在 Docker 容器里直接运行 Android 模拟器,并通过 noVNC 在浏览器中实时查看模拟器画面。它适合需要 Android 环境的开发者和测试人员:不用买真机、不用专门配测试机,就能搭环境、跑 Appium UI-Test、构建 Android 项目或远程复现线上问题。

谁需要它 / 典型使用场景

如果你正在做 Android 自动化测试,又不想在每台机器上手动装模拟器,这个项目能帮你一键把整套环境装进容器。通过切换镜像标签就能使用 Android 9.0~14.0,设备轮廓涵盖 Samsung Galaxy S10、S9、S8、Nexus 7、Pixel C 等十余款机型。它还支持模拟短信收发这类测试场景:

🔍 跑起来之前,先过这几关

  • Docker 已安装docker --version有输出即可。

  • KVM 虚拟化可用:镜像跑在 Ubuntu 上且依赖硬件加速,先校验一下:

    sudo apt install cpu-checker && kvm-ok

    输出KVM acceleration can be used才算过关。

  • 宿主系统:Ubuntu 最省事;macOS 需要装支持虚拟化的 Ubuntu 虚拟机;Windows 11 可用 WSL2,但要在配置里开启nestedVirtualization=true

  • /dev/kvm设备存在ls -l /dev/kvm能列出该文件就没问题,否则容器里的模拟器会慢得像幻灯片。

🚀 核心命令拆解

先直接跑这条完整命令,以 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

每个参数在干什么:

参数作用
-d容器在后台跑,不占终端
-p 6080:6080把容器内 noVNC 的 Web 端口映射到本机
-e EMULATOR_DEVICE="Samsung Galaxy S10"选设备轮廓,换成Nexus 7就是平板
-e WEB_VNC=true开启浏览器访问,不开就只能用 VNC 客户端连
--device /dev/kvm把宿主机的硬件虚拟化设备挂进容器,模拟器速度的关键
--name android-container给容器起名,后面管理方便
budtmo/docker-android:emulator_11.0镜像标签,emulator_9.0~emulator_14.0对应不同 Android 版本

跑完之后打开浏览器访问http://localhost:6080,就能看到模拟器的实时画面。想顺带接 Appium 的话,加-p 4723:4723 -e APPIUM=true两个参数即可,细节见 Appium UI-Test 用法。

验证 & 日常操作

# 看模拟器启动到哪一步了,卡在 booting 超过几分钟时用它 docker exec -it android-container cat device_status # 容器日志,排查启动失败、VNC 连不上的首选 docker logs -f android-container # 容器停了直接拉起来,不用重新 run docker start android-container

如果想像平时那样用 adb 直接操控容器里的模拟器,启动时追加-p 5554:5554 -p 5555:5555,然后在本机执行adb connect 127.0.0.1:5555,流程可参考 从宿主机控制模拟器。

💾 数据持久化(可选但推荐)

默认情况下容器一重启,模拟器设备就会重置回出厂状态。想让装过的 App、账号数据跨重启保留,把卷挂到/home/androidusr就行:

docker run -d -v data:/home/androidusr ... budtmo/docker-android:emulator_11.0

不加这个-v参数,容器一删,设备里的数据就跟着没了。


跑通之后,下一步建议接上 Appium 写第一条 UI-Test 脚本,或翻一遍 环境变量配置清单:VNC 密码、日志 Web 页面、模拟器数据分区大小等都在这里调。想要云端模拟器设备,还可以看看 Genymotion 云集成方案(见仓库 documentations 目录,以仓库实际为准)。

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

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

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/11 9:43:03

电液伺服系统MATLAB仿真:传递函数建模与模糊PID控制设计

简介:面向毕业设计场景的电液伺服系统控制仿真资源,适合自动化、机电一体化、电子信息等专业学生用于课程设计或毕业设计参考。资源围绕系统建模、特性分析与控制器设计展开,包含完整的模型文件、模糊控制规则文件、脚本程序与大量仿真数据&a…

作者头像 李华
网站建设 2026/9/11 9:42:12

七大排序算法精讲:从复杂度到工程实践,建立算法思维

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/9/11 9:40:13

Win11与英特尔大小核架构优化指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/9/11 9:38:50

视频转换格式全攻略:7招彻底解决播放兼容性问题

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/9/11 9:38:42

上海GEO公司如何连接业务增长:盾码无界的场景化运营方案

**摘要:**寻找上海GEO公司,企业需要关注的不只是AI提及,还包括推荐之后的内容承接与客户运营。盾码无界将企业知识库、内容生产、官网、GEO监测与交易系统连接起来,为上海企业提供从品牌表达到账户运营的连续业务支撑。上海GEO优化…

作者头像 李华