打造自己的云手机
目录
前言 #
当前市面上已经有很多家的云手机厂商,虽然比较稳定,但是把数据全都放在别人手里感觉感觉不是很安全,谁知道每次进行操作时候厂商会不会进行录屏等操作呢。
Github 上有一个开源项目 Redroid 可以使用 Docker 运行安卓容器,我已经使用了很长时间了,很稳定。
准备环境 #
需要一台服务器,AMD64 和 ARM64 都是可以的。
支持的系统如下:点击即可查看各个发行版的部署操作。
- Alibaba-Cloud-Linux
- Amazon-Linux
- Arch-Linux
- CentOS
- Debian
- Deepin
- Fedora
- Gentoo
- Kubernetes
- LXC
- Mint
- OpenEuler
- PopOS
- Ubuntu
- WSL
如果你是小白,推荐使用 Ubuntu、Arch Linux 或者 NixOS,其中 Ubuntu 需要加载内核模块,Arch Linux 和 NixOS 直接更换 zen 内核即可。
操作部分 #
这里只写出上面所说的三个操作系统,其他的系统可自行阅读官方 Doc。
Ubuntu #
建议不要使用最新的 Ubuntu 可能会有各种小问题,我这里测试 20.04 和 22.04 版本没有问题,执行下面命令加载内核模块
sudo apt install linux-modules-extra-`uname -r`
sudo modprobe binder_linux devices="binder,hwbinder,vndbinder"
sudo modprobe ashmem_linux
使用一键脚本安装 Docker,不过我还是喜欢用包管理器安装,虽然可能版本旧了一些
curl -sSL https://get.docker.com/ | sh
或者使用包管理器安装 Docker 以及 Docker-compose
sudo apt install docker docker-compose
Arch Linux #
安装 linux-zen 内核
# 更新系统
sudo pacman -Syu
# 安装 linux-zen 内核
sudo pacman -S linux-zen linux-zen-headers
# 更新 GRUB 引导配置
sudo grub-mkconfig -o /boot/grub/grub.cfg
# 重启系统
sudo reboot
# 验证内核版本,可以看到内核带有 zen 字样
uname -r
使用包管理器安装 Docker 以及 Docker-compose
sudo pacman -S docker docker-compose
NixOS #
安装 linux-zen 内核
# 编辑 /etc/nixos/configuration.nix 增加一行
boot.kernelPackages = pkgs.linuxPackages_zen
# rebuild 更新配置
sudo nixos-rebuild switch
# 重启系统
sudo reboot
# 验证内核版本,可以看到内核带有 zen 字样
uname -r
安装 Docker 以及 Docker-compose
# 编辑 /etc/nixos/configuration.nix 添加一行
virtualisation.docker.enable = true;
# docker-compose
environment.systemPackages = with pkgs; [ docker-compose ];
# rebuild 更新配置
sudo nixos-rebuild switch
运行 Redroid 容器 #
直接启动 #
sudo docker run -itd --rm --privileged \
--pull always \
-v ~/data:/data \
-p 5555:5555 \
redroid/redroid:11.0.0-latest
使用 Docker-compose 启动 #
## 编辑 docker-compose.yaml
version: "3"
services:
redroid:
stdin_open: true
tty: true
privileged: true
pull_policy: always
volumes:
- ~/data:/data
ports:
- 5555:5555
image: redroid/redroid:11.0.0-latest
## 启动 docker 容器
sudo docker-compose up -d
其他说明 #
连接设备 #
可以通过安装 adb 和 scrcpy 使用鼠标来操作安卓
MacOS 和 linux 环境 直接使用包管理器安装 android-platform-tools 和 scrcpy 就可以了。
### MacOS
brew install --cask android-platform-tools scrcpy
### Debian & Ubuntu
sudo apt install android-platform-tools scrcpy
### Arch linux
sudo pacman -S android-platform-tools scrcpy
### NixOS
environment.systemPackages = with pkgs; [ android-tools scrcpy ];
如果你想使用网页进行操作,可以尝试 ws-scrcpy 这个项目。
如果不想配置环境可以使用我打包的镜像 aaronyes/ws-scrcpy。
直接运行
sudo docker run --name ws-scrcpy -d -p 8000:8000 aaronyes/ws-scrcpy
或者使用 docker-compose 启动都是可以的。
version: "3"
services:
ws-scrcpy:
container_name: ws-scrcpy
ports:
- 8000:8000
image: aaronyes/ws-scrcpy
启动后可以执行 adb 命令 连接安卓
sudo docker exec ws-scrcpy adb connect ip:5555
如果这里使用的 docker-compose 可以把两个放到一起使用。
version: "3"
services:
redroid:
container_name: redroid
stdin_open: true
tty: true
privileged: true
pull_policy: always
volumes:
- ~/data:/data
ports:
- 5555:5555
image: redroid/redroid:11.0.0-latest
ws-scrcpy:
container_name: ws-scrcpy
ports:
- 8000:8000
image: aaronyes/ws-scrcpy
这时可以直接使用容器名连接
docker exec ws-scrcpy adb connect redroid:5555
没有应用商店怎么安装软件 #
-
可以使用 adb 安装,在电脑上下载安装的 apk 应用包,然后执行 adb install (apk安装包的路径)
-
这里还有一个推荐的方法,就是安装一个 via浏览器(这个浏览器很小很轻量无广告),以后的操作可以通过这个浏览器进行
安装 Magisk #
可以参考下面这个地址
GMS 支持 #
参考下面这个地址