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

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

_

大家好,我是攻城狮成长日记的狮兄。。今天强烈推荐一个轻量且实用的开源项目 —— HQarroum/docker-android

1782199877340.png

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

项目核心亮点

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

镜像体积对比(官方数据)

构建变体未压缩大小压缩后大小
API 33 + Emulator5.84 GB1.97 GB
API 32 + Emulator5.89 GB1.93 GB
API 28 + Emulator4.29 GB1.46 GB
仅基础环境(无 SDK)414 MB138 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
1782199987020.png1782199986512.png1782199986811.png

默认使用 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

总结:

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

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

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

一行命令创建目录并立即进入!这个 Linux 小技巧用一次就上瘾 2026-06-22

评论区