当前位置: 首页 > news >正文

Docker 运行 Android 模拟器

用 Docker Compose 跑一个 Android 模拟器(可远程访问),首先说明一个现实情况:

👉 Android 模拟器在 Docker 里性能依赖 KVM 虚拟化,如果你的机器不支持(比如很多云服务器 / Windows 没开 WSL2 + 虚拟化),会非常卡甚至跑不起来。


✅ 方案一:推荐(带 Web 远程界面)

使用budtmo/docker-android(最成熟)


🧱 1. 前置条件

Linux / WSL2 必须支持 KVM

egrep -c '(vmx|svm)' /proc/cpuinfo

如果输出 >0 才行

并且:

ls /dev/kvm

📦 2. docker-compose.yml(完整)

version: "3.8" services: android: image: budtmo/docker-android:emulator_11.0 container_name: android_emulator privileged: true devices: - /dev/kvm:/dev/kvm ports: - "6080:6080" # Web VNC - "5554:5554" # emulator - "5555:5555" # adb environment: - DEVICE=Samsung Galaxy S10 - ANDROID_VERSION=11.0 - EMULATOR_GPU=swiftshader_indirect restart: unless-stopped

🚀 3. 启动

docker-compose up -d

🌐 4. 使用方式

打开浏览器:

http://localhost:6080

👉 就能看到 Android 模拟器界面(网页版)


🔌 5. ADB 连接

adb connect localhost:5555 adb devices

✅ 方案二:更轻量(无 GUI,适合自动化)

如果你只是跑 App / 自动化测试:

version: "3.8" services: android: image: us-docker.pkg.dev/android-emulator-268719/images/30-google-x64:latest devices: - /dev/kvm ports: - "8554:8554" - "5555:5555" environment: - ADBKEY=your_adb_key stdin_open: true tty: true

⚠️ 常见坑(非常重要)

❌ 1. Windows 直接 Docker Desktop 不行

👉 必须:

  • 开启 BIOS 虚拟化(Intel VT-x / AMD-V)

  • 使用WSL2

  • 并且 WSL2 支持/dev/kvm(默认不支持)

👉 推荐做法:

  • 用 Linux(Ubuntu)最稳


❌ 2. 云服务器基本跑不了

  • AWS / 阿里云 / 腾讯云:大多数实例没有 KVM

  • 需要裸金属(Bare Metal)才行


❌ 3. Mac(尤其 M1/M2)

👉 基本不可行(ARM + 无 KVM)


🧠 优化建议

提升性能

environment: - EMULATOR_GPU=host - RAM_SIZE=4096

多实例

container_name: android_emulator_1 ports: - "6081:6080"

📌 总结

方案是否推荐用途
budtmo/docker-android⭐⭐⭐⭐⭐可视化开发
google emulator image⭐⭐⭐自动化测试
云服务器跑不推荐
Windows 原生 Docker⚠️很容易失败

👉 其它扩展支持

  • ✅ Docker Android +Appium 自动化测试

  • ✅ 多实例 Android 集群(类似云手机)

  • ✅ 远程公网访问(带 Nginx / HTTPS)

  • ✅ 接入你的 OpenClaw / AI 自动操作手机 🤖


http://www.jsqmd.com/news/730445/

相关文章:

  • 云安全基础
  • 支付宝异步通知验签:支付安全核心机制解析与开源工具实践
  • AI写论文必备!4款AI论文生成工具,让你的毕业论文脱颖而出!
  • 博客园频率测试 2
  • AI辅助自动化测试
  • 如何轻松搭建个人云游戏平台:Sunshine开源游戏串流终极指南
  • Anaconda + 容器化:打造AI开发全链路标准化环境实战指南
  • Spring Security URL 匹配的艺术与精度
  • 南京心理创伤咨询医院:专业机构如何助力心理创伤康复之路 - 品牌排行榜
  • 靠谱的北京叉车租赁企业排行 - myqiye
  • 【Dify 2026缓存架构权威白皮书】:首次公开3层异构缓存协同机制与QPS提升217%实测数据
  • Degrees of Lewdity中文汉化版:终极免费安装指南与使用技巧
  • 如何快速掌握LibreVNA:从射频新手到专业测量的完整实战指南
  • Steer3D技术:自然语言驱动的3D模型智能编辑
  • 实测对比:PyInstaller vs Nuitka打包后,用这个工具分别能瘦身多少?附Matplotlib/Numpy案例
  • 2026年涂塑钢管服务商哪家靠谱排名 - mypinpai
  • PHP 9.0协程AI机器人突然OOM?揭秘内存泄漏的3个隐藏根源与4种压测验证法(附GDB+Valgrind实操录屏)
  • 低代码平台开发详解
  • 2026涂装废水处理厂家哪家好?技术实力与应用场景解析 - 品牌排行榜
  • NVIDIA Profile Inspector终极指南:5个步骤解锁显卡隐藏性能,告别游戏卡顿
  • Redis 核心数据结构(三)——Hash,把一堆字段塞进一个 Key
  • 避开STC8H PWM输入捕获的那些坑:从寄存器配置到中断处理的避坑指南
  • 金刚砂耐磨材料好用吗?湖南正欧告诉你 - mypinpai
  • 交互式训练框架:实时反馈驱动的机器学习优化
  • “小龙虾”浪潮热:提供 2026年OpenClaw 服务的云厂商一览
  • 2026水果店加盟哪个品牌靠谱?供应链与体验成关键考量 - 品牌排行榜
  • AI辅助现代软件开发方法
  • 告别Modelsim:手把手教你配置PDS与Vivado/QuestaSim进行联合仿真与调试
  • Autovisor:智慧树自动化学习终极指南,如何用Python解放你的学习时间
  • 保姆级教程:在RK3562上搞定OV13855和GC8034双摄切换(附完整DTS配置)