ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

一条命令拉起任意版本Android环境:Docker-Android容器化模拟器实战

一条命令拉起任意版本Android环境:Docker-Android容器化模拟器实战 一条命令拉起任意版本Android环境Docker-Android容器化模拟器实战【免费下载链接】docker-androidAndroid in docker solution with noVNC supported, video recording and mcp server项目地址: https://gitcode.com/GitHub_Trending/do/docker-android每次回归测试前都要重装一遍Android环境切个版本、换个机型就得折腾半天机器之间还总对不齐。Docker-Android把容器化Android模拟器做成了现成镜像一条命令拉起指定系统版本和设备型号多版本兼容测试从此不用手动维护环境。下面这张社区数据图能说明它被用得多广 动手前先体检KVM与Docker环境自检镜像能跑起来的前提是宿主机开启了硬件虚拟化VT-x / AMD-V。先在终端里跑一下这个命令看看结果sudo apt install cpu-checker kvm-ok看到KVM acceleration can be used就稳了。Docker要求20.10以上版本docker --version确认一下。Windows和macOS的用户注意镜像只支持Ubuntu环境要么开台带嵌套虚拟化的Ubuntu虚拟机要么直接用WSL2——但嵌套虚拟化开关只有Windows 11及以上才有。 五分钟跑通第一台模拟器体检没问题就直接跑这条三星Galaxy S10 Android 11.0 Web VNC复制粘贴即可docker run -d -p 6080:6080 \ -e EMULATOR_DEVICESamsung Galaxy S10 \ -e WEB_VNCtrue \ --device /dev/kvm \ --name android-container \ budtmo/docker-android:emulator_11.0打开浏览器访问http://localhost:6080容器里正在开机的模拟器就摆在眼前点按滑动都直接操作。想确认启动状态执行docker exec -it android-container cat device_status 版本与机型怎么选Android多版本测试速查表镜像标签直接对应Android版本要哪个拉哪个Android版本API级别镜像标签9.028budtmo/docker-android:emulator_9.010.029budtmo/docker-android:emulator_10.011.030budtmo/docker-android:emulator_11.012.032budtmo/docker-android:emulator_12.013.033budtmo/docker-android:emulator_13.014.034budtmo/docker-android:emulator_14.0机型覆盖面够日常测试用手机有三星Galaxy S6到S10全系和Nexus 4/5/One/S平板有Nexus 7和Pixel C。启动时把EMULATOR_DEVICE换成上表任意设备名即可。每个机型对应的参数定义放在mixins/configs/devices/profiles/外观皮肤放在mixins/configs/devices/skins/想核对某台机器的分辨率、按键布局去这两个目录翻就行。⚡️ 从能用到好用性能与访问控制调优Docker Android模拟器跑起来之后这几个环境变量能把体验再拉高一档docker run ... -e EMULATOR_DATA_PARTITION1024m ... # 数据分区默认550m装应用多就加大 docker run ... -e EMULATOR_ADDITIONAL_ARGS-gpu on ... # 开启GPU加速界面滑动明显更顺 docker run ... -e EMULATOR_NO_SKINtrue ... # 去掉外壳渲染省渲染开销更多选项模拟器命名、配置文件覆盖等都整理在documentations/CUSTOM_CONFIGURATIONS.md里。VNC这块建议顺手做下访问控制用-e VNC_PASSWORDxxx给连接加密码默认6080端口被占或想按用途分端口就-p 6081:6081 -e WEB_VNC_PORT6081换掉。只给人看看不给操作的演示场景访问http://localhost:6080/?autoconnecttrueview_onlytrue进只读模式带密码直达则用?autoconnecttruepasswordxxx。 把模拟器接进流水线CI/CD与自动化把容器化的Docker Android模拟器挂进流水线之后回归就变成拉镜像→起容器→跑用例→拆容器。比如Jenkins job里一条docker run起Android 11容器构建完跑Appium再删容器整个测试矩阵不用维护任何本地模拟器配置在documentations/USE_CASE_JENKINS.md里有现成步骤。UI自动化这边Appium直接连容器内的ADB就能驱动界面详见documentations/USE_CASE_APPIUM.md。算力不够或者想按量弹性就把带KVM的虚拟机开在Azure、AWS、GCP上跑同一套镜像流程和成本估算写在documentations/USE_CASE_CLOUD.md。顺带一提短信验证类功能也能测往容器里注入模拟短信验证App收信逻辑方法见documentations/USE_CASE_SMS.md。 数据不丢、远程可控持久化与ADB默认行为要心里有数容器一重启模拟设备连同里面的数据一起销毁。需要保留安装过的应用、账号登录态的话把数据卷挂到/home/androidusrdocker volume create android-data docker run -d -v android-data:/home/androidusr ...远程调试靠ADB启动时把5554/5555映射出来-p 5554:5554 -p 5555:5555然后在宿主机上连adb connect localhost:5555adb devices里出现emulator-5554之后装包、截图、logcat跟真机操作完全一样完整的远程操控流程在documentations/USE_CASE_CONTROL_EMULATOR.md。⚠️ 踩坑速查问题解法kvm-ok提示不可用或报权限错误进BIOS开VT-x/AMD-V把当前用户加入kvm组sudo usermod -aG kvm $USER重登生效WSL2下拿不到/dev/kvm需Windows 11.wslconfig开启nestedVirtualizationtrue并在/etc/wsl.conf把/dev/kvm改属kvm组启动慢、UI卡顿给Docker至少2GB内存加EMULATOR_ADDITIONAL_ARGS-gpu on老版本系统尽量选Android 9.0及以上Docker-Android用容器化Android模拟器抹平了我的机器上能跑这类分歧一条命令就能拉起指定版本的测试环境。想再深入直接翻README、documentations/目录和各场景文档有问题可以进Gitter社区找作者聊。【免费下载链接】docker-androidAndroid in docker solution with noVNC supported, video recording and mcp server项目地址: https://gitcode.com/GitHub_Trending/do/docker-android创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表