前言 #
当前市面上已经有很多云手机厂商,虽然比较稳定,但把数据全都放在别人手里感觉不是很安全。谁知道每次进行操作时厂商会不会进行录屏等行为呢。
Github1 上有一个开源项目 Redroid2,可以使用 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 内核即可。
操作部分 #
这里只介绍上面所说的三个操作系统,其他的系统可自行阅读官方文档。
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使用一键脚本安装 Docker3:
curl -sSL https://get.docker.com/ | sh或者使用包管理器安装 Docker 以及 Docker Compose:
sudo apt install docker docker-composeArch 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-composeNixOS #
安装 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# 启动
sudo docker-compose up -d其他说明 #
连接设备 #
可以通过安装 adb4 和 scrcpy5 使用鼠标来操作安卓。
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 支持 #
参考下面这个地址: