Docker-Android 是一个专为 Android 相关的一切而构建的 docker 镜像。它可用于应用程序开发和测试(原生、网页和混合应用)。
| Android | API | 最新发布版本镜像 | 特定发布版本镜像 |
|---|---|---|---|
| 9.0 | 28 | budtmo/docker-android:emulator_9.0 | budtmo/docker-android:emulator_9.0_<发布版本> |
| 10.0 | 29 | budtmo/docker-android:emulator_10.0 | budtmo/docker-android:emulator_10.0_<发布版本> |
| 11.0 | 30 | budtmo/docker-android:emulator_11.0 | budtmo/docker-android:emulator_11.0_<发布版本> |
| 12.0 | 32 | budtmo/docker-android:emulator_12.0 | budtmo/docker-android:emulator_12.0_<发布版本> |
| 13.0 | 33 | budtmo/docker-android:emulator_13.0 | budtmo/docker-android:emulator_13.0_<发布版本> |
| 14.0 | 34 | budtmo/docker-android:emulator_14.0 | budtmo/docker-android:emulator_14.0_<发布版本> |
| - | - | budtmo/docker-android:genymotion | budtmo/docker-android:genymotion_<发布版本> |
| 类型 | 设备名称 |
|---|---|
| 手机 | 三星 Galaxy S10 |
| 手机 | 三星 Galaxy S9 |
| 手机 | 三星 Galaxy S8 |
| 手机 | 三星 Galaxy S7 Edge |
| 手机 | 三星 Galaxy S7 |
| 手机 | 三星 Galaxy S6 |
| 手机 | Nexus 4 |
| 手机 | Nexus 5 |
| 手机 | Nexus One |
| 手机 | Nexus S |
| 平板 | Nexus 7 |
如果您的主机使用 Ubuntu 操作系统,可以跳过此步骤。对于 OSX 和 Windows 操作系统 用户,您需要使用支持虚拟化的虚拟机并安装 Ubuntu 操作系统,因为该镜像仅能在 Ubuntu 操作系统 下运行。
您的机器应支持虚拟化。检查是否启用虚拟化的方法是:
sudo apt install cpu-checker
kvm-ok
运行Docker-Android容器
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
检查模拟器状态
docker exec -it android-container cat device_status
默认情况下,容器重启时会销毁模拟设备。要持久化数据,需要在/home/androidusr挂载一个卷:
docker run -v data:/home/androidusr budtmo/docker-android:emulator_11.0
感谢Guillaume - The Parallel Interface博客
将自己添加到kvm用户组。
sudo usermod -a -G kvm ${USER}
在/etc/wsl2.conf的相应部分添加必要的标志。
[boot]
command = /bin/bash -c 'chown -v root:kvm /dev/kvm && chmod 660 /dev/kvm'
[wsl2]
nestedVirtualization=true
通过CMD提示符或Powershell重启WSL2
wsl --shutdown
command = /bin/bash -c 'chown -v root:kvm /dev/kvm && chmod 660 /dev/kvm'在WSL2启动时将/dev/kvm设置为kvm用户组,而不是默认的root用户组。
nestedVirtualization标志仅适用于Windows 11。
这份文档包含了可用于启用某些功能的配置信息,例如日志共享等。
对于那些没有资源维护模拟器或购买机器或需要不同设备配置的人,可以尝试使用Genymotion SAAS。Docker-Android在不同的云服务上与Genymotion集成,例如Genymotion SAAS、AWS、GCP、阿里云。更多详情请参阅此文档。
模拟器皮肤来自Android Studio IDE和Samsung开发者网站
由于大量的帮助请求以及为了能够积极维护项目,创建者决定推出docker-android-pro。Docker-Android-Pro是一个基于赞助的项目,这意味着只有活跃的赞助者才能拉取专业版的docker镜像。
普通版本和专业版本的区别是:
| 功能 | 普通版 | 专业版 | 备注 |
|---|---|---|---|
| 用户行为分析 | 是 | 否 | - |
| 代理 | 否 | 是 | 可在运行中为Android模拟器设置公司代理 |
| 语言 | 否 | 是 | 可在运行中为Android模拟器设置语言 |
| Root权限 | 否 | 是 | 能够以安全特权运行命令 |
| 无头模式 | 否 | 是 | 通过使用无头模式节省资源 |
| Selenium 4.x 集成 | 否 | 是 | 可通过一个Selenium Hub端点运行针对Android和iOS模拟器/设备的Appium UI测试 |
| 多个Android模拟器 | 否 | 即将推出 | 通过在一个Docker容器中运行多个Android模拟器来节省资源 |
| Google Play商店 | 否 | 即将推出 | - |
| 视频录制 | 否 | 即将推出 | 有助于调试 |
本文档包含了如何使用docker-android-pro的详细信息。
参见许可证


免费创建高清无水印Sora视频
Vora是一个免费创建高清无水印Sora视频的AI工具


最适合小白的AI自动化工作流平台
无需编码,轻松生成可复用、可变现的AI自动化工作流

大模型驱动的Excel数据处理工具
基于大模型交互的表格处理系统,允许用户通过对话方式完成数据整理和可视化分析。系统采用机器学习算法解析用户指令,自动执行排序、公式计算和数据透视等操作,支持多种文件格式导入导出。数据处理响应速度保持在0.8秒以内,支持超过100万行数据的即时分析。


AI辅助编程,代码自动修复
Trae是一种自适应的集成开发环境(IDE),通过自动化和多元协作改变开发流程。利用Trae,团队能够更快速、精确地编写和部署代码,从而提高编程效率和项目交付速度。Trae具备上下文感知和代码自动完成功能,是提升开发效率的理想工具。


AI论文写作指导平台
AIWritePaper论文写作是一站式AI论文写作辅助工具,简化了选题、文献检索至论文撰写的整个过程。通过简单设定,平台可快速生成高质量论文大纲和全文,配合图表、参考文献等一应俱全,同时提供开题报告和答辩PPT等增值服务,保障数据安全,有效提升写作效率和论文质量。


AI一键生成PPT,就用博思AIPPT!
博思AIPPT,新一代的AI生成PPT平台,支持智能生成PPT、AI美化PPT、文本&链接生成PPT、导入Word/PDF/Markdown文档生成PPT等,内置海量精美PPT模板,涵盖商务、教育、科技等不同风格,同时针对每个页面提供多种版式,一键自适应切换,完美适配各种办公场景。

