VPS云服务器搭建云手机教程

UID:3 一级用户组

云手机的本质是将Android系统运行在云端服务器上,通过远程协议进行控制访问。本文将介绍一种最简单、门槛最低的方案------使用Docker部署remote-android项目。相比KVM虚拟化方案,这种方式资源占用更少(单实例约300-400MB内存),启动速度快(秒级),非常适合在VPS上搭建。

一、方案概述与技术选型

1.1 为什么选择Docker方案

对比项 Docker容器化 KVM/QEMU全虚拟化
内存占用 ~300-400MB/实例 ~2-4GB/实例
启动速度 秒级 分钟级
硬件要求 无需特殊CPU指令 需要VT-x/AMD-V
GPU支持 软件渲染 可硬件加速
部署难度 一条命令 复杂配置

适用场景:个人使用、轻量级测试、多开挂机、自动化脚本。

:warning: 局限性:容器方案基于x86架构的Android-x86系统,部分依赖ARM原生库的应用可能无法运行。

1.2 服务器配置要求

配置项 最低要求 推荐配置
CPU 2核 4核及以上
内存 4GB 8GB+
硬盘 20GB SSD 50GB+ SSD
带宽 5Mbps 10Mbps+
系统 Ubuntu 20.04/22.04 Ubuntu 22.04 LTS

二、服务器环境准备

2.1 购买VPS并连接

推荐配置

  • 腾讯云轻量应用服务器 4核8GB(约100-200元/月)

  • 或阿里云ECS突发性能实例

  • 系统选择:Ubuntu 22.04 LTS

使用SSH连接服务器:

bash

ssh root@你的服务器IP 

2.2 更新系统并安装Docker

bash

# 更新软件包 sudo apt update && sudo apt upgrade -y # 安装依赖 sudo apt install -y apt-transport-https ca-certificates curl software-properties-common # 添加Docker官方GPG密钥 curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg # 添加Docker仓库 echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null # 安装Docker sudo apt update sudo apt install -y docker-ce docker-ce-cli containerd.io docker-compose-plugin # 启动Docker并设置开机自启 sudo systemctl start docker sudo systemctl enable docker # 验证安装 docker --version 

三、部署云手机容器

3.1 使用remote-android镜像部署

remote-android是GitHub上热门的开源项目(5.4k+ Stars),提供一键部署的Docker镜像,支持Web和VNC两种访问方式。

一键运行命令

bash

docker run -d \   --name cloud-phone \   --privileged \   -p 6080:6080 \   -p 5554:5554 \   -p 5555:5555 \   -e EMULATOR_DEVICE="Samsung Galaxy S10" \   -e WEB_ACCESS=true \   budtmo/docker-android-x86-12.0 

参数说明

参数 说明
-p 6080:6080 Web访问端口(浏览器打开)
-p 5554:5554 Android模拟器控制台端口
-p 5555:5555 ADB调试端口
--privileged 特权模式(必须)
budtmo/docker-android-x86-12.0 Android 12镜像

其他可用镜像版本

bash

# Android 14(最新) docker run -d --name cloud-phone --privileged -p 6080:6080 budtmo/docker-android-x86-14.0 # Android 11 docker run -d --name cloud-phone --privileged -p 6080:6080 budtmo/docker-android-x86-11.0 # Android 9 docker run -d --name cloud-phone --privileged -p 6080:6080 budtmo/docker-android-x86-9.0 

3.2 开启VNC访问(可选)

如需使用VNC客户端连接,额外映射5900端口:

bash

docker run -d \   --name cloud-phone \   --privileged \   -p 6080:6080 \   -p 5900:5900 \   -p 5555:5555 \   budtmo/docker-android-x86-12.0 

四、访问云手机

4.1 通过浏览器访问(推荐)

  1. 确保服务器防火墙放行6080端口:

bash

# Ubuntu UFW防火墙 sudo ufw allow 6080/tcp # 腾讯云/阿里云需在控制台安全组添加规则:入站 6080 端口 
  1. 在浏览器打开:

text

http://你的服务器IP:6080 
  1. 默认密码:mysecret(可在启动时通过-e VNC_PWD=新密码修改)

4.2 通过VNC客户端访问

使用任何VNC客户端(如TightVNC、RealVNC)连接:

text

地址:你的服务器IP:5900 密码:mysecret 

4.3 通过ADB连接(开发者)

从本地电脑连接云手机进行调试:

bash

# 本地安装ADB后执行 adb connect 你的服务器IP:5555 # 查看已连接设备 adb devices # 进入云手机shell adb shell 

4.4 设置中文界面

云手机默认是英文,进入设置修改:

  1. 打开云手机的Settings

  2. 搜索或找到Language & input

  3. 点击LanguagesAdd a language

  4. 选择中文(简体)

  5. 拖动中文到列表最顶部

五、进阶配置

5.1 批量部署多个云手机实例

bash

# 实例1 docker run -d --name cloud-phone-1 --privileged -p 6081:6080 -p 5556:5555 budtmo/docker-android-x86-12.0 # 实例2 docker run -d --name cloud-phone-2 --privileged -p 6082:6080 -p 5557:5555 budtmo/docker-android-x86-12.0 # 实例3 docker run -d --name cloud-phone-3 --privileged -p 6083:6080 -p 5558:5555 budtmo/docker-android-x86-12.0 

访问地址分别为:http://IP:6081http://IP:6082http://IP:6083

5.2 使用Docker Compose管理

创建docker-compose.yml文件:

yaml

version: '3.8' services:   cloud-phone-1:     image: budtmo/docker-android-x86-12.0     privileged: true     ports:       - "6081:6080"       - "5556:5555"     environment:       - EMULATOR_DEVICE=Samsung Galaxy S10     restart: unless-stopped   cloud-phone-2:     image: budtmo/docker-android-x86-12.0     privileged: true     ports:       - "6082:6080"       - "5557:5555"     environment:       - EMULATOR_DEVICE=Google Pixel 5     restart: unless-stopped 

启动所有实例:

bash

docker compose up -d 

5.3 数据持久化

挂载本地目录保存数据,避免容器重启后数据丢失:

bash

docker run -d \   --name cloud-phone \   --privileged \   -p 6080:6080 \   -v /opt/android-data:/home/androidusr \   budtmo/docker-android-x86-12.0 

5.4 配置中文输入法

安装讯飞或搜狗输入法:

  1. 在云手机内下载APK安装包

  2. 通过ADB安装:adb -s IP:5555 install sogou.apk

  3. 在设置中启用输入法

六、性能优化建议

6.1 资源限制

限制容器使用的CPU和内存:

bash

docker run -d \   --name cloud-phone \   --privileged \   --cpus="2" \   --memory="4g" \   --memory-swap="4g" \   -p 6080:6080 \   budtmo/docker-android-x86-12.0 

6.2 网络优化

启用BBR拥塞控制算法提升网络性能:

bash

# 启用BBR echo "net.ipv4.tcp_congestion_control=bbr" | sudo tee -a /etc/sysctl.conf sudo sysctl -p # 验证是否生效 sysctl net.ipv4.tcp_congestion_control 

6.3 清理无用镜像和容器

bash

# 停止所有运行中的容器 docker stop $(docker ps -q) # 删除所有已停止的容器 docker container prune -f # 删除未使用的镜像 docker image prune -a -f 

七、常见问题解决

7.1 连接不上Web界面

  1. 检查容器是否运行

bash

docker ps # 应该看到cloud-phone容器状态为Up 
  1. 检查防火墙

bash

# 查看端口监听 netstat -tlnp | grep 6080 # 开放端口(以UFW为例) sudo ufw allow 6080/tcp 
  1. 云服务商安全组:在腾讯云/阿里云控制台添加入站规则,允许TCP 6080端口。

7.2 云手机卡顿

  • 升级VPS配置(增加CPU/内存)

  • 降低分辨率:通过-e WEB_QUALITY=low参数

  • 限制帧率:-e FRAME_RATE=15

7.3 应用无法安装或闪退

由于是x86架构Android,部分ARM应用可能不兼容。解决方案:

  • 安装时选择x86兼容版本

  • 使用libhoudini二进制转译库(需要额外配置)

7.4 容器无法启动(端口占用)

bash

# 查看端口占用 lsof -i:6080 # 停止占用端口的进程或更换端口 kill -9 进程ID 

八、应用场景示例

8.1 游戏自动挂机

安装自动化脚本软件(如按键精灵Auto.js),配合ADB命令控制:

bash

# 模拟点击坐标 adb -s IP:5555 shell input tap 500 1000 # 模拟滑动 adb -s IP:5555 shell input swipe 300 500 300 1000 # 模拟按键 adb -s IP:5555 shell input keyevent KEYCODE_BACK 

8.2 多账号管理

部署多个容器实例,每个独立运行不同账号,通过不同端口访问。

8.3 远程办公

在云手机内安装企业微信/钉钉,实现个人手机与工作账号分离。

九、成本估算

配置 云手机实例数 月成本
4核8GB VPS 2-3个 ¥100-200
8核16GB VPS 6-10个 ¥300-500
16核32GB独服 20-30个 ¥1000+

相比商用云手机服务(约¥30-50/实例/月),自建方案可节省**60%-80%**的成本。

十、安全提醒

  1. 修改默认VNC密码:启动时添加-e VNC_PWD=你的强密码

  2. 启用HTTPS:使用Nginx反向代理并配置SSL证书

  3. 限制访问IP:通过防火墙限制仅允许特定IP访问

  4. 定期备份:挂载数据卷并定期备份重要数据

通过Docker部署remote-android是搭建云手机的最简方案:

  1. :white_check_mark: 一键部署:单条命令即可运行

  2. :white_check_mark: 开箱即用:支持Web浏览器直接访问

  3. :white_check_mark: 低资源占用:4GB内存可运行多个实例

  4. :white_check_mark: 易于扩展:Docker Compose批量管理

如需更高性能或ARM兼容性,可考虑KVM虚拟化方案,但配置复杂度会显著增加。对于大多数个人和小团队需求,本文的Docker方案已经足够。

最新回复

请先登录后再回复 登录

uid:3 一级用户组
关注
发帖 25
评论 25
粉丝 0
关注 0
发新帖
目录
VPS云服务器搭建云手机教程