Docker一键运行完整Android模拟器!开发者CI/CD必备神器

admin 2026-06-26 09:08:01 网络安全文章 来源:ZONE.CI 全球网 0 阅读模式

文章总结: 文档介绍docker-android开源项目,实现在Docker容器中运行完整Android模拟器,支持硬件加速、多版本自定义及远程投屏。核心优势包括轻量镜像、KVM加速、开箱即用,提供docker-compose和纯Docker两种部署方式,适用于移动应用自动化测试、CI/CD及多版本兼容验证场景。文中详细给出镜像选择建议、持久化配置及PlayStore集成方法。 综合评分: 88 文章分类: 安全工具,移动安全,云安全,安全开发


cover_image

Docker一键运行完整Android模拟器!开发者CI/CD必备神器

原创

didiplus didiplus

攻城狮成长日记

2026年6月23日 19:47 广东

在小说阅读器读本章

去阅读

大家好,我是 攻城狮成长日记 的狮兄 👋

今天强烈推荐一个 轻量且实用 的开源项目 ——

👉 docker-android[1]

它能让你在 Docker 容器中快速启动完整的 Android Emulator,适合自动化测试、CI/CD、多版本兼容验证等场景。

· · · ✨ 项目核心亮点 · · ·

| 特性 | 说明 | | — | — | | 🪶 极致轻量 | 基于 Alpine 系统,镜像体积可控 | | 🚀 硬件加速 | 完整支持 KVM + GPU(含 CUDA 版本) | | 🎛️ 高度自定义 | 自由选择 Android API 版本、Google APIs、Play Store 等 | | 📦 开箱即用 | 内置 JRE 11 + Emulator + ADB | | 🔄 干净环境 | 默认每次重启自动重置,完美适合自动化流水线 | | 📱 远程控制 | 支持 scrcpy 实时画面投屏 |

· · · 📊 镜像体积对比 · · ·

| 构建变体 | 未压缩大小 | 压缩后大小 | | — | — | — | | API 33 + Emulator | 5.84 GB | 1.97 GB | | API 32 + Emulator | 5.89 GB | 1.93 GB | | API 28 + Emulator | 4.29 GB | 1.46 GB | | 仅基础环境(无 SDK) | 414 MB | 138 MB |

💡 建议:本地测试推荐 API 33,云服务器可根据资源选择更轻量的版本。

· · · 🚀 快速上手 · · ·

方法一:使用 docker-compose(最推荐)

项目已提供 docker-compose.yml,直接执行:

# 启动标准版
docker compose up android-emulator

# 启动 GPU 加速版(推荐,性能更好)
docker compose up android-emulator-cuda

# 启动带 Play Store 的 GPU 版
docker compose up android-emulator-cuda-store

方法二:纯 Docker 命令

# 构建镜像
docker build -t android-emulator .

# 运行容器(关键参数必须加上)
docker run -it --rm \
  --device /dev/kvm \                  # 启用 KVM 硬件加速(必须)
  -p 5555:5555 \                       # 暴露 ADB 端口
  --memory=4g \                        # 建议至少分配 4GB 内存
  android-emulator

· · · 📱 连接模拟器与远程控制 · · ·

容器启动成功后,执行以下命令连接:

# 连接 ADB
adb connect 127.0.0.1:5555

# 查看设备列表
adb devices

· · · 实时画面投屏(强烈推荐 🔥) · · ·

scrcpy

| | | | | — | — | — | | | | |

默认使用 Pixel 设备(1080×1920),操作流畅,适合远程调试。

· · · ⚙️ 高级配置与用法 · · ·

1️⃣ 持久化数据(不希望每次重启清空)

docker run -it --rm \
  --device /dev/kvm \
  -p 5555:5555 \
  -v ~/android_avd:/data \     # 挂载本地目录持久化 AVD 数据
  android-emulator

2️⃣ 自定义构建 Android 版本

docker build \
  --build-arg API_LEVEL=34 \                    # 指定 Android 版本
  --build-arg IMG_TYPE=google_apis_playstore \  # 带 Play Store
  --build-arg ARCHITECTURE=x86_64 \             # 架构
  -t android-emulator-custom .

3️⃣ 极致瘦身(跳过 SDK 打包)

docker build \
  --build-arg INSTALL_ANDROID_SDK=0 \   # 不打包 SDK
  -t android-emulator-slim .

运行时再挂载外部 SDK:

-v /your/path/to/android-sdk:/opt/android

4️⃣ Play Store 版本注意事项

使用 Play Store 镜像时,需将本机 ADB 密钥复制到 ./keys 目录:

cp ~/.android/adbkey ./keys/
cp ~/.android/adbkey.pub ./keys/

· · · 🎯 适用场景 · · ·

  • ●✅ 移动 App 自动化测试与 CI/CD
  • ●✅ 多 Android 版本兼容性验证
  • ●✅ 云服务器 / 远程开发环境
  • ●✅ 稳定可重复的 Android 沙箱

· · · 📦 预构建镜像(无需自己构建) · · ·

docker pull halimqarroum/docker-android:api-33

· · · 📝 总结 · · ·

docker-android 是目前 Docker 中运行 Android Emulator 体验最好的方案之一,配置灵活、性能优秀、文档清晰,非常值得收藏 ⭐

你已经在 Docker 中跑 Android 模拟器了吗?  欢迎在评论区分享你的用法或遇到的问题~


点赞 👍 + 在看 👀 + 转发 🔄  我们下期继续分享更多实用开源工具!

参考资料:

[1] docker-android: https://github.com/HQarroum/docker-android


免责声明:

本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。

任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。

本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我

本文转载自:攻城狮成长日记 didiplus didiplus《Docker一键运行完整Android模拟器!开发者CI/CD必备神器》

评论:0   参与:  0