news 2026/9/11 11:35:09

Docker-Android 安装与上手完整指南:一条命令在浏览器里跑起安卓模拟器

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
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 Studio,不用单独折腾虚拟机。按本文操作完,你能在浏览器里打开一个可用、可换型号的安卓模拟器,直接点按操作,甚至接上自动化测试。

🧭 它是什么,凭什么能做到

一句话定位:把安卓模拟器变成一条命令就能跑起来的标准容器镜像,专为应用开发、测试和自动化场景设计。

它能做到的几件事:

  • 设备随你挑:Samsung Galaxy S10、Nexus 5、Nexus 7 等十几种手机/平板机型,换机型只改一个参数
  • 安卓版本可选:官方镜像覆盖 Android 9.0 到 14.0
  • 可远程操控:容器启动后,宿主机直接用 adb 连进去,跑 Appium 这类 UI 自动化测试

靠哪些技术实现:

  • Docker 容器:把模拟器、依赖、屏幕服务全部打包进一个镜像,拉下来就能跑,换台机器环境也完全一致
  • noVNC:一个网页版 VNC 客户端,把容器里的模拟器画面实时传到浏览器,不用装任何远程桌面软件
  • KVM:Linux 的硬件虚拟化设备(/dev/kvm),挂进容器后模拟器接近原生速度,不卡
  • ADB:安卓调试桥,宿主机靠它远程控制容器里的模拟器,执行安装、点按、截图
  • Supervisord:容器内的进程管家,负责拉起屏幕、端口、基础服务三个进程并保活

✅ 动手前检查清单

逐项打勾,全部通过再往下走:

  1. Docker 已安装:终端执行docker --version,能打印版本号即可
  2. 系统环境是 Ubuntu:官方镜像目前只在 Ubuntu 上运行,Windows / macOS 用户需要先装一台支持虚拟化的 Ubuntu 虚拟机
  3. CPU 虚拟化已开启:执行下面的命令,看到 "KVM acceleration can be used" 就通过了
  4. /dev/kvm 设备就绪:执行ls -l /dev/kvm能列出文件,说明虚拟化设备可用
sudo apt install cpu-checker kvm-ok

🚀 核心操作三步走

启动:一条命令拉起安卓模拟器

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 的 6080 端口映射到本机,浏览器就用它看画面
  • -e EMULATOR_DEVICE=...:指定机型,换成列表里其他名字(如 "Nexus 5")即可
  • -e WEB_VNC=true:开启浏览器画面功能
  • --device /dev/kvm:把硬件虚拟化设备传给容器,没有它模拟器会非常慢
  • --name android-container:给容器起个名字,方便后面查状态
  • 结尾的镜像名:emulator_11.0表示 Android 11,换成emulator_12.0就升级版本

验证:浏览器里打开安卓画面

等一两分钟启动完成后,浏览器访问http://localhost:6080,看到模拟器开机进桌面就成功了。

再确认一下设备状态,容器会把状态写进device_status文件:

docker exec -it android-container cat device_status

收尾:一行参数实现数据持久化

默认情况下容器一重启,模拟设备就恢复出厂状态。想让装好的 App、聊天记录保留下来,在上面的docker run命令里加一个参数即可:

-v data:/home/androidusr

这叫"卷挂载"——把宿主机的一块命名存储空间 data 挂到容器的用户目录。数据存在宿主机的卷里,容器删了重建,应用和数据都还在。

下一步

模拟器跑起来只是开始:接 Appium 做 UI 自动化,看 USE_CASE_APPIUM.md;想在宿主机直接 adb 操控容器里的设备,看 USE_CASE_CONTROL_EMULATOR.md;日志共享等更多自定义配置,汇总在 CUSTOM_CONFIGURATIONS.md。照着这几篇往下走,这个容器还能变成你 CI 流水线里的测试节点。

【免费下载链接】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 11:34:10

WorkBuddy多语种调研与AI报表生成:腾讯云国际智能体配置实战

1. 代理商视角下的WorkBuddy配置:为什么值得折腾我接触WorkBuddy纯属偶然。当时手上几个海外客户都在问有没有办法把多语种市场调研和日常经营报表整合到一个工作台里,而不是每天在翻译软件、Excel、邮件和IM之间来回切换。后来发现腾讯云国际生态里有Wo…

作者头像 李华
网站建设 2026/9/11 11:33:24

老电脑性能优化全攻略:从诊断到升级

1. 老电脑性能瓶颈诊断刚开机就卡成PPT?浏览器开三个标签页风扇就狂转?这些症状都在提醒你该给老伙计做个全面体检了。先别急着下单买配件,咱们得先搞清楚钱该往哪儿花才最值。1.1 性能监控三板斧任务管理器永远是最诚实的裁判。CtrlShiftEsc…

作者头像 李华
网站建设 2026/9/11 11:33:23

OpenGL多重渲染

在 OpenGL 中,多重渲染(Multiple Render Targets, MRT) 是一种高级渲染技术,允许在一次绘制调用中同时向多个颜色缓冲区写入数据。这项技术在现代图形编程中非常重要,尤其用于: 延迟渲染(Deferr…

作者头像 李华
网站建设 2026/9/11 11:32:20

GESP Python一级网络协议与互联网概念备考全攻略

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

作者头像 李华