开发与工程 dockerandroid-emulatornovncmcp-serverappiumgenymotionkubernetes

Docker-Android:容器化 Android 模拟器

在 Docker 容器里运行可远程观看、可 adb 控制的 Android 模拟器,用于开发与自动化测试。

FollowAgents 评估 · FARS-2.1
不推荐
41/ 100 五分制 2.1 / 5
1 2 3 4 5 6
按维度查看评分与理由
1信任安全8 / 29 · 1.4/5

README 明确要求 --device /dev/kvm 并给出 WSL2 下 chown root:kvm /dev/kvm 与 chmod 660 的提权步骤,属于为运行模拟器所必需但权限面较大的操作,未见最小权限说明,故 least_privilege 仅 1。用户确认方面,容器启动即默认开启行为分析上报,README 未提供 opt-out 开关或首次运行确认,user_confirmation 记 0。数据流透明度部分:LICENSE.md 列出采集字段(启动时间、发行版、城市/地区/国家来自 ipinfo.io、Appium/Web-VNC 使用情况等),并指向 USER_BEHAVIOR_ANALYTICS.md,但 README 正文未提示该上报,透明度只算部分,记 1。敏感数据处理:声明为非 PII 且不追踪个人,但 IP 派生的地理位置与设备信息仍属可关联数据,且授权条款为不可撤销、可再许可,处理方式偏宽,记 1。依赖安全:release.yml 使用 actions/checkout@v7、setup-buildx-action@v4 等浮动主版本标签,未固定 commit SHA,也无依赖扫描证据,记 1。外部影响:镜像会推送至 Docker Hub、调用 ipinfo.io 与 codecov.io,属可预期但未在 README 集中披露,记 1。回滚:README 提到挂载 /home/androidusr 可持久化数据,但未说明如何回退版本或恢复被销毁的模拟器状态,记 1。来源归属:README 对 Genymotion、Android Studio、Samsung 皮肤及 WSL2 博客给出链接署名,但未提供 SBOM 或第三方组件清单,记 1。

2可靠稳定5 / 14 · 1.8/5

自一致性:README 的镜像标签、设备列表、Pro 版功能表与 release.yml 的构建矩阵(9.0–14.0)基本吻合,但 Pro 版宣称的 ai-agent 与 README 顶部宣称的 ai-agent(beta)归属存在混淆,记 1。依赖可用性:依赖 Docker、KVM、Ubuntu 宿主与外部镜像仓库,README 给出 kvm-ok 检查步骤,但未说明离线或镜像不可达时的降级路径,记 1。失败信息:README 提供 device_status 检查命令,但未描述常见失败(KVM 不可用、端口占用、镜像拉取失败)的报错含义与排查,记 1。

3适用触发9 / 18 · 2.5/5

受众与场景:README 面向 Android 开发/测试、Appium、Jenkins、云部署等场景,并列出 6 个用例文档链接,覆盖较广,记 2。能力边界:明确区分普通版与 Pro 版功能(ai-agent、proxy、headless、root 等),但 ai-agent 与 mcp 均标注 beta,未说明其能力上限与失败模式,记 1。触发精度:仅有 docker run 与少量环境变量示例,缺少参数完整清单与默认值说明,记 1。环境适配:明确限定 Ubuntu 宿主、需虚拟化支持,并给出 WSL2 配置,环境约束交代清楚,记 2。

4规范维护9 / 18 · 2.5/5

信息架构:README 分节清晰(优势、镜像表、设备表、快速开始、持久化、用例、Pro 版、赞助商),记 2。安装说明:给出 docker run 命令、KVM 检查、WSL2 步骤,可操作性较好,记 2。命名稳定性:镜像标签采用 emulator_<版本> 与 <版本>_<release> 的稳定模式,记 2。示例与 FAQ:有多个用例文档链接与命令示例,但无独立 FAQ,记 2。已知限制:仅零散提到 Ubuntu-only、Pro 版限制,缺少集中限制章节,记 1。许可证:LICENSE.md 为 Apache-2.0 加自定义修订(fork 须移除 Google Form ID 或停止采集),属非标准许可,仓库元数据为 NOASSERTION,记 1。版本与变更日志:README 引用 GitHub release 徽章与 <release_version> 占位,但仓库内无 CHANGELOG 文件,记 1。维护责任:README 说明 Pro 版为赞助制、由创建者维护,但无治理、安全联系或 SLA 说明,记 1。

5有效结果7 / 13 · 2.7/5

输出可用性:docker run 一行即可启动并访问 6080 查看 VNC,输出形态(容器、Web UI、日志)对普通使用足够,记 2。边际价值:相比自建 Android 模拟器环境,提供多设备皮肤、VNC、日志共享与云集成,确有增量价值,记 2。成本收益:需 KVM、Ubuntu 宿主与较大镜像,且默认数据上报与 Pro 版功能割裂增加采用成本,记 1。

6证据核验3 / 8 · 1.9/5

主张可追溯:README 的多数主张可对应到文档链接与工作流文件,但 ai-agent/mcp 能力无对应源码或测试证据,记 1。跨源印证:release.yml 与 test-on-demand.yml 印证了构建与测试流程存在,但无法印证 README 宣称的 ai-agent 功能,记 1。事实与推断分离:README 与 LICENSE 对数据采集的表述较具体,但未区分已验证事实与营销性描述(如用户分布图),记 1。

证据充分度: 评估于 2026年9月19日 审查版本 b1b75b4b168e
上游仓库在本次评估后已有新提交;当前评分仍对应所示审查版本,可能尚未覆盖最新改动。
源码中未见的安全控制:执行前用户确认
使用前请注意
  • 默认启用行为分析上报(含 ipinfo.io 派生的城市/地区/国家),README 未提供关闭开关或首次运行确认;在受监管或隐私敏感环境部署前须先审阅 LICENSE.md 与 USER_BEHAVIOR_ANALYTICS.md。
  • 许可证为 Apache-2.0 加自定义修订(fork 须移除 Google Form ID 或停止采集),且仓库元数据为 NOASSERTION,企业合规需法务确认。
  • README 宣称的 ai-agent 与 mcp 能力标注为 beta,且 ai-agent 在 Pro 版表中被列为付费功能,静态证据无法验证其实际可用性。
  • 工作流使用 actions/checkout@v7 等浮动主版本标签而非固定 SHA,且未见依赖漏洞扫描,供应链风险需自行评估。
  • 运行需 --device /dev/kvm 及 WSL2 下的 chown/chmod 提权步骤,宿主权限面较大,建议在隔离环境中运行。
  • 发布者身份未经 FollowAgents 验证,维护责任与更新路径仅由 README 自述,不应据此推断可靠性。
评估证据 [1][2][3][4]
查看完整评分方法 →

这个 Agent 能做什么,适合哪些场景?

Docker-Android 是一组预构建的 Docker 镜像,把完整的 Android 模拟器封装进容器,支持 API 28(Android 9.0)到 API 34(Android 14.0),并提供 genymotion 与 mcp 专用镜像。容器通过 noVNC 在 6080 端口暴露图形界面,外部可用 adb connect 控制模拟器,还支持日志共享和 device_status 状态查询。镜像内置多款设备型号(如 Samsung Galaxy S10/S9/S8、Nexus 4/5、Nexus 7、Pixel C),可用于构建 Android 工程、运行 Appium 或 Espresso 等单元与 UI 测试。项目提供 MCP server(beta)与 AI-agent(beta,pro 版支持 Ollama)扩展,方便自动化工具接入。运行环境依赖 KVM 硬件虚拟化,Windows 与 macOS 需借助支持虚拟化的 Ubuntu 虚拟机,WSL2 另有专门配置说明。

该仓库发布多个 budtmo/docker-android 镜像标签,包括 emulator_9.0 至 emulator_14.0、genymotion 以及 mcp。启动时通过环境变量 EMULATOR_DEVICE 指定设备型号、WEB_VNC=true 开启 Web VNC,并用 --device /dev/kvm 透传硬件虚拟化能力;容器内运行 Android 模拟器,对外暴露 6080 端口供浏览器访问界面。用户可通过 docker exec 读取容器内的 device_status 文件确认模拟器是否就绪,也可以从宿主机执行 adb connect 连接容器内模拟器进行控制。MCP 镜像进一步把 MCP server 与 AI-agent 能力打包进镜像,配合 pro 版中列举的 Ollama 本地模型使用。

  1. Android 应用开发者希望在 CI 或本地环境中获得一致、可复现的模拟器实例,用于手工调试。
  2. 测试工程师需要在 Appium 或 Espresso 框架下运行 UI 自动化测试,并希望用 noVNC 实时观察执行画面。
  3. 团队在 Jenkins 流水线中集成 Android 构建与测试,需要可脚本化启动的容器化设备。
  4. 运维或平台团队要在 AWS、Azure、GCP 上部署 Android 模拟器集群,利用文档中的云端部署用例。
  5. 自动化工具开发者想通过 mcp 镜像把模拟器接入 MCP 生态或本地 AI-agent(如 Ollama)进行交互。
  6. 需要在无本地 Android 设备的情况下模拟 SMS 等场景的研究或测试人员。

这个 Agent 有哪些优点和局限?

优点
  • 提供从 Android 9.0 到 14.0 的成套镜像标签,并以官方镜像形式发布,版本选择清晰(如 budtmo/docker-android:emulator_11.0)。
  • 内置 noVNC Web 界面、adb connect 外部控制和日志共享,调试与自动化测试链路完整。
  • 覆盖 Samsung Galaxy、Nexus、Pixel C 等多款设备型号与皮肤,无需真实硬件即可切换设备配置。
  • 文档给出 Jenkins、Appium、SMS 模拟以及 Azure/AWS/GCP 云端部署的具体用例。
  • 同时提供 Genymotion 集成方案和 mcp 镜像,便于接入云模拟器或 MCP 工具链。
局限
  • 强依赖 KVM 硬件虚拟化,且镜像只能在 Ubuntu OS 下运行,OSX 与 Windows 用户必须额外准备 Ubuntu 虚拟机。
  • 项目在 README 中把 ai-agent、代理设置、语言切换、headless、Android 15–17、Selenium 4.x 等列为 pro 版(budtmo2/docker-android-pro)功能,普通版不可用。
  • ai-agent 与 mcp server 标注为 beta,当前 pro 版 AI 能力仅支持 Ollama 本地托管。
  • 默认行为是容器重启即销毁模拟设备,若要持久化必须手动挂载 /home/androidusr 卷。
  • 仓库 License 标记为 NOASSERTION,采用前需自行确认 LICENSE.md 中的具体条款。

如何安装或部署这个 Agent?

前置条件:已安装 Docker,且宿主机支持 KVM 硬件虚拟化(可用 sudo apt install cpu-checker && kvm-ok 验证)。若宿主机为 OSX 或 Windows,需先准备一台支持虚拟化、运行 Ubuntu OS 的虚拟机;Windows 11 下的 WSL2 需按 README 配置 /etc/wsl.conf 与 .wslconfig 中的 nestedVirtualization,并将 /dev/kvm 归属 kvm 用户组。安装即拉取镜像:docker pull budtmo/docker-android:emulator_11.0;数据库无其他安装步骤。

如何使用这个 Agent?

启动容器: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 检查模拟器状态。若需保留模拟设备数据,在启动命令中加入 -v data:/home/androidusr。可按需改用其他镜像标签(emulator_9.0 至 emulator_14.0、genymotion、mcp)。

常见问题

我可以在 macOS 或 Windows 上直接运行吗?
README 明确说明镜像只能在 Ubuntu OS 下运行。OSX 和 Windows 用户需要先准备一台支持虚拟化、运行 Ubuntu 的虚拟机;Windows 11 的 WSL2 则需按文档配置 nestedVirtualization 并调整 /dev/kvm 权限。
模拟器数据在容器重启后会丢失吗?
默认会销毁。若需保留,启动时挂载卷:docker run -v data:/home/androidusr budtmo/docker-android:emulator_11.0。
免费的普通版包含哪些功能?
普通镜像支持多设备型号、noVNC、日志共享、adb 外部控制、Android 工程构建与自动化测试,以及 beta 的 mcp server 和 ai-agent。pro 版(budtmo2/docker-android-pro,需成为赞助者)额外提供代理设置、语言切换、headless 模式、Android 15–17、root 权限、Selenium 4.x 集成等。
如何确认容器里的模拟器已经可以接受操作?
在宿主机执行 docker exec -it android-container cat device_status,根据输出判断设备状态。
使用 AI-agent 或 mcp 镜像需要什么外部服务?
普通镜像的 mcp server 与 ai-agent 均标注为 beta;pro 版的 ai-agent 目前支持本地 AI 托管/提供商 Ollama。除此之外没有在文档中声明其他模型提供商支持。

对比同类 Agent

用同一套 FARS 评审,横向比较这个 Agent 所属的短名单。

相关 Agents