ReDroid打造自己的云手机

自己做一个云手机,开源的 Android In Container 解决方案

    • 前言
    • 正文
    • 总结

前言

市面上已经存在很多云手机厂商如多多云、雷电云、河马云手机等,价格从几十到上百元每月一台。价格还好说,但设备运行稳定性、可靠性、数据安全性全部依赖第三方厂商,注定不能进行敏感性操作或部署对安全可靠高要求的企业级服务。
本文介绍一种开源的 AIC (Android In Container) 解决方案 ReDroid,使用本教程可以在一台普通型服务器运行多个安卓设备环境,并可在客户机电脑连接使用该云手机。

正文

这里我选择了腾讯云主机 x86架构 CPU(AMD/INTEL),配置至少 2c2g,推荐 2c4g,带宽设置为 10M
本文以 2c2g 低配云主机为例

系统是腾讯云公共镜像 Ubuntu18.04 注意系统如果使用 Centos 按照 github 的说明操作会下载不到依赖 建议优先使用 Ubuntu18.04 系统
注意 Ubuntu 系统使用 ssh 登录时默认不允许 root 用户直接登录,可以在配置开启也可以使用普通账户登录,以普通账户登录为例

ssh ubuntu@ip
#输入密码
sudo su 
#进入root

在这里插入图片描述

Install Docker Engine on Ubuntu
根据 Docker 官方文档安装Docker

curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh
# 或者从仓库下载都可
# sudo apt-get install -y docker.io
# systemctl start docker
# systemctl enable docker

ReDroid Kernel Modules
根据 ReDroid 官方文档执行以下操作

# Ubuntu 16.04 / 18.04 / 20.04 
sudo apt-get install -y git kmod make gcc linux-headers-`uname -r` 
# 本环境即 linux-headers-4.15.0-159-generic
# 解压项目 master 分支代码到服务器任意位置
sudo make # build kernel modules 
sudo make install # build and install *unsigned* kernel modules

ReDroid-Doc
根据 ReDroid 官方文档执行以下操作
这里我选择手机系统版本是 AOSP8.1 amd架构
注:AOSP8.1 即谷歌原版的纯净系统 Android8.1

docker run -itd --rm --memory-swappiness=0 --privileged \
-v ~/data:/data \
-p 5555:5555 \
redroid/redroid:8.1.0-amd64

Scrcpy
根据 Scrcpy 官方文档下载安卓投屏软件源码包到客户机,解压使用

adb connect ip:5555
# adb devices 可查看连接设备列表
scrcpy --serial ip:5555

至此云手机运行成功并可以投屏操作使用,如果想再开一台手机只需要将容器启动命令里的 “-p 5555:5555” 里前面的 5555 替换个新端口号即可,如 “-p 5556:5555”,再使用 “adb connect ip:5556” 就连上第二台云手机了

测试结果
使用 ARM CPU(SR1) + Ubuntu20.04 AOSP11或8.1 arm架构 连接出现设备 offline 异常
使用 x86 CPU + Ubuntu20.04 AOSP11或8.1 amd64架构 连接正常 投屏出现闪屏
使用 x86 CPU + Ubuntu18.04 AOSP11或8.1 amd64架构 连接正常 投屏正常

强烈建议一开始就使用 Ubuntu18.04 系统,避免不必要的麻烦!
开启一台云手机时,占用CPU 20%,内存不到1G,所以 2c2g 的 x86 CPU 服务器也可以同时运行两三台云手机,具体还要视手机实际使用情况而定

ReDroid打造自己的云手机_第1张图片
ReDroid打造自己的云手机_第2张图片

对了,腾讯云主机又又又又活动了,戳这里查看

总结

打造自己的云手机既可以用来做测试开发使用,也可以保证安全隐私的情况下执行敏感操作,还可以用来做模拟操作RPA机器人,或执行挂机任务,值得一试。喜欢本文可以关注我~有问题可以留言或私信我。

你可能感兴趣的:(RPA,自动化,云计算,android)