https://github.com/budtmo/docker-android

最近需要再root手机上抓包和设置iptable等操作,发现一个docker的云真机用起来比较方便,这里记录下它的用法。

sudo docker pull budtmo/docker-android:emulator_9.0

docker run -d --rm -p 6080:6080 \
-e EMULATOR_DEVICE="Samsung Galaxy S7" \
-e WEB_VNC=true --device /dev/kvm --name \
ac1 budtmo/docker-android:emulator_9.0

adb connect 172.17.0.2:5555

http://localhost:6080/

体验下来整体还不错,有一点问题比较干扰:

  1. 重启docker之后,下次启动容器会有问题。

https://github.com/budtmo/docker-android/issues/481

处理方法,增加下 --rm 参数,容器关闭后自动销毁就可以了。

  1. 这个容器是x86的(因为我的电脑ubuntu是x86的)

对跑一些android arm64的应用不太友好。


AI总结docker-android项目亮点

  1. 可视化调试与便捷日志管理,降低排障成本

项目解决了 Docker 容器内 Android 模拟器 “不可见、难调试” 的痛点:
VNC 可视化支持:通过 -e WEB_VNC=true 启用 VNC 服务,映射 6080 端口后,访问 http://localhost:6080 即可实时查看容器内模拟器界面,无需进入容器即可操作(如点击、输入、安装应用)。
Web-UI 日志共享:所有模拟器日志可通过 Web 界面直接访问,无需手动查找容器内日志文件,方便团队协作排查问题(如崩溃日志、测试日志)。

  1. 灵活的外部控制与生态集成,适配自动化流程

支持从容器外控制模拟器,并深度集成 CI/CD、云服务等工具链,适配自动化开发测试流程:
adb 远程控制:可通过 adb connect 从主机(或其他设备)直接控制容器内的 Android 模拟器,无需进入容器即可执行 adb install(安装应用)、adb logcat(查看日志)等操作。
CI/CD 与工具链集成:支持 Jenkins 自动化构建与测试,可无缝接入 DevOps 流程;同时集成 Genymotion Cloud、AWS、GCP、阿里云等云服务,无需本地维护硬件,即可弹性扩展测试资源。
多测试框架兼容:支持 Appium(UI 自动化测试)、Espresso(Android 原生测试)等主流测试框架,可直接在容器内运行单元测试与 UI 测试,无需额外配置测试环境。

Logo

码道开发者社区,聚焦华为云码道 CodeArts 代码智能体,沉淀 Agent、Skill、鸿蒙开发实战内容,供开发者查阅资料、交流技术、分享工程实践

更多推荐