微信公众号

使用Docker搭建云手机及远程控制

云手机

云手机是基于云计算技术的虚拟手机服务,将传统手机硬件和操作系统虚拟化,并部署在云服务器。用户通过网络可以远程访问和操作虚拟手机。常见的虚拟化技术包括KVM(Kernel-based Virtual Machine)、Docker等。KVM适用于全虚拟化,Docker适用于轻量级虚拟化。通过虚拟化搭建云手机避免真机成本高,系统环境也可随时初始化,特别适合测试和后台任务类型的应用。

云手机作用

应用测试:开发者可以使用云手机进行应用的开发和测试,避免了购买大量物理设备的成本。
自动化测试:通过脚本和自动化工具,可以大规模地对应用进行测试,提升测试效率。
游戏挂机:多开和挂机:游戏玩家可以通过云手机实现多账号同时登录和挂机操作,不占用本地设备资源。
应用体验:跨平台使用:在不具备特定操作系统设备的情况下,通过云手机体验不同平台的应用。
安全测试:安全研究人员可以在隔离的环境中测试应用,避免对本地设备的潜在风险。
远程办公:员工可以通过云手机访问公司内部应用和资源,实现随时随地办公。

如何搭建云手机

以UBuntu环境(IP: 192.168.31.170)为例,通过docker运行安卓手机系统。

安装内核模块

apt install linux-modules-extra-`uname -r`
modprobe binder_linux devices="binder,hwbinder,vndbinder"
modprobe ashmem_linux

用Docker创建云手机

docker run -itd --rm --privileged \
    --pull always \
    -v ~/data:/data \
    -p 5555:5555 \
    redroid/redroid:11.0.0-latest

通过远程投屏控制手机

配置远程访问工具,如VNC、ADB(Android Debug Bridge),通过网络访问和控制云手机。

此外,也可通过WEB浏览器等方式进行远程管理。

附:ADB常用命令

一些常用的ADB命令:

连接云手机:adb connect <IP地址>
断开连接:adb disconnect <IP地址>
查看已连接的设备:adb devices
安装应用:adb install <app.apk>
卸载应用:adb uninstall <package_name>
启动应用:adb shell am start -n <package_name>/<activity_name>
关闭应用:adb shell am force-stop <package_name>
导出应用数据:adb backup -f <backup.ab> -noapk <package_name>
恢复应用数据:adb restore <backup.ab>
截图:
adb shell screencap -p /sdcard/screenshot.png
adb pull /sdcard/screenshot.png
YOLO检测环境安装配置 物联网——专用消息队列MQTT
微信公众号