闲置服务器别吃灰!手把手教你打造专属“云手机”

大家好,我是爱折腾云的星哥!你是不是也有这样的烦恼:

  • 手机内存天天爆满,想多开几个应用却力不从心?
  • 想 24 小时挂机玩游戏、跑自动化脚本,又怕手机发烫伤电池?
  • 手里刚好有一台吃灰的 Linux 云服务器,不知道拿来干嘛?

今天,星哥就给大家安利一个神仙开源项目 —— redroid (Remote an Droid)。只需几行命令,就能让你的 Linux 服务器化身为一台高性能的“云手机”!无论是云游戏、虚拟电话,还是自动化测试,统统轻松拿捏。👇

img

什么是 Redroid?

简单来说,redroid 是一个 GPU 加速的云端安卓(Android In Cloud)解决方案。 它基于 Docker 运行,支持在 Linux 主机上同时启动多个安卓实例。不仅支持 arm64,连我们最常见的 x86-64 (amd64) 架构也能完美兼容!

🤖 目前支持的安卓版本非常全面:

  • Android 14 / 13 / 12(包含纯 64 位专属版本,更省内存)
  • Android 11 / 10 / 9 / 8.1

实战准备:你的服务器达标了吗?

为了让大家都能跟着操作,星哥这次选用的是最低门槛的配置来进行演示。只要你的服务器满足以下条件,就能轻松跑起来:

配置项 推荐规格 备注
CPU 2 vCPUs x86-64 架构(如阿里云、腾讯云等)
内存 2 GB 跑单实例绰绰有余
存储 40 GB 建议 SSD,读写更流畅
系统 Ubuntu 22.04 星哥亲测最省心的系统
带宽 3 Mbps 基础投屏够用,追求极致可升级

img

保姆级搭建教程(建议收藏)

第一步:安装 Docker

这是云手机的“运行底座”。在 Ubuntu 终端中,只需两行命令即可搞定:

# 1. 更新软件源并安装 docker
sudo apt update
sudo apt-get install -y docker.io

# 2. 启动并设置开机自启
sudo systemctl start docker
sudo systemctl enable docker

(💡 小贴士:安装完成后,可以输入 docker --version 检查是否安装成功。)

第二步:解锁内核“封印”

Redroid 运行需要 Linux 内核支持 ashmembinder 模块。 好消息是: 如果你和星哥一样使用的是 Ubuntu 20.04 及以上版本(内核 5.0+),系统已经自带了这些模块,无需复杂编译,直接加载即可!

# 加载 ashmem 模块
sudo modprobe ashmem_linux

# 加载 binder 模块
sudo modprobe binder_linux devices=binder,hwbinder,vndbinder

# 验证是否加载成功(有输出即代表成功)
lsmod | grep -e ashmem_linux -e binder_linux

(⚠️ 注意:如果你用的是 CentOS、Alibaba Cloud Linux 等系统,则需要拉取 redroid-modules 源码进行编译安装,具体可参考官方文档。)

第三步:一键召唤云手机

我们使用 docker-compose 来优雅地管理容器。首先安装它:

sudo apt install docker-compose -y

接着,创建一个工作目录并新建 docker-compose.yml 文件:

mkdir -p /data/redroid-1 && cd /data/redroid-1
nano docker-compose.yml

将以下配置复制进去(星哥已经为你优化了 x86 架构的兼容参数):

version: "3"
services:
  redroid:
    image: redroid/redroid:11.0.0-latest # 这里以安卓11为例,可替换为13.0.0等
    stdin_open: true
    tty: true
    privileged: true
    ports:
      - "20055:5555" # 将服务器的20055端口映射到安卓的5555端口
    volumes:
      - ./redroid-11-data:/data # 数据持久化,重启不丢失
    command:
      # 核心:让 x86 服务器能运行 arm 架构的 App (NDK 桥接)
      - ro.product.cpu.abilist0=x86_64,arm64-v8a,x86,armeabi-v7a,armeabi
      - ro.product.cpu.abilist64=x86_64,arm64-v8a
      - ro.product.cpu.abilist32=x86,armeabi-v7a,armeabi
      - ro.dalvik.vm.isa.arm=x86
      - ro.dalvik.vm.isa.arm64=x86_64
      - ro.enable.native.bridge.exec=1
      - ro.dalvik.vm.native.bridge=libndk_translation.so
      - ro.ndk_translation.version=0.2.2
      - ro.secure=0 # 开启 Root 权限,方便折腾
    cap_add:
      - CAP_SYS_MODULE

保存后,启动你的云手机:

docker-compose up -d

img

看到 Started 的提示,恭喜你,云手机已经在后台默默运行了!🎉

星哥避坑指南 (Ubuntu 22.04 专属)

在 Ubuntu 22.04 上使用 docker-compose 时,部分同学可能会遇到 urllib3 版本冲突的报错。 解决办法很简单,降级一下 urllib3 即可:

pip install 'urllib3<2'

第四步:连接与丝滑投屏

云手机建好了,怎么在电脑上看到它呢?星哥推荐使用开源神器 Scrcpy(安卓投屏利器)。

  1. 在你的个人电脑上下载并安装 Scrcpy。

  2. 确保电脑和服务器网络互通,打开终端或命令行,输入:

    # 连接云手机 (替换为你的服务器公网IP)
    adb connect 你的服务器IP:20055
    
    # 查看是否连接成功
    adb devices
    
    # 启动投屏!
    scrcpy --serial 你的服务器IP:20055
    

瞬间,你服务器的安卓桌面就会完美呈现在你的电脑屏幕上,鼠标键盘直接操控,延迟极低,体验拉满!😎

星哥的进阶秘籍:高级参数定制

想让你的云手机更贴合需求?在启动命令中加入以下参数即可自定义:

参数名 作用说明 推荐值/默认值
androidboot.redroid_width 屏幕宽度 1080 (默认720)
androidboot.redroid_height 屏幕高度 1920 (默认1280)
androidboot.redroid_fps 屏幕刷新率 30 (有GPU) 或 15 (无GPU)
androidboot.redroid_dpi 屏幕像素密度 480 (默认320)
androidboot.redroid_gpu_mode GPU渲染模式 host (调用宿主机GPU加速,极度推荐)
ro.secure=0 允许 Root 权限 调试、修改系统文件必备

(💡 提示:如果你的服务器带有 GPU,强烈建议加上 GPU 相关参数,画面流畅度会有质的飞跃!)

结语

从安装 Docker 到屏幕上亮起安卓桌面,整个过程不过十几分钟。拥有一台属于自己的云手机,不仅能让闲置服务器发挥余热,更能解锁挂机、测试、多开的无限可能。

如果你在搭建过程中遇到任何问题,或者想了解 “如何给云手机配置 GPU 加速”,欢迎在评论区留言,星哥看到必回!👇

觉得有用的话,别忘了给星哥点个 【赞】【在看】,你的支持是我持续输出硬核干货的最大动力!我们下期见!🚀

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐