Unraid搭建容器化Android (Redroid)方案

NatureChan 发布于 14 小时前 24 次阅读


AI 摘要

告别Unraid里Windows虚拟机套模拟器的低效卡顿!试试Redroid方案:将Android彻底容器化。不仅能大幅节省系统资源,还能开启GPU加速,性能与流畅度瞬间起飞。本文带你手把手从内核配置到镜像部署,开启极致安卓云方案。

以前跑手游脚本用的Unraid【1】 + Windows虚拟机【2】 + Android模拟器【3】嵌套方案【4】,这个方案能跑通。但是首先手游很卡,其次浪费了大量资源。后来发现了一个叫做Redroid【5】的项目,这个项目将android系统容器化【6】,效率呢也大幅提升。

redroid (Remote-Android) is a multi-arch, GPU enabled, Android in Cloud solution. Track issues / docs here
Shell
6099

这里也是将Redroid成功在unraid上跑通了,效果图:

整个流畅性还是比Windows套安卓模拟器好的,接下来介绍一下如何部署。

配置Unraid

Unraid版本:7.2.3,Kernel【7】版本:6.12.54-Unraid

参考文献:https://forums.unraid.net/topic/149453-redroid-on-unraid/

首先根据文献指引,在7.1.0后的unraid可以直接通过编辑Syslinux【8】配置来开启PSI【9】功能,具体做法如下:

随后我们在“Unraid OS”项下添加 "psi=1"

随后重启unraid,重启完毕后进入Shell【10】,通过这个指令确认开启是否成功。

root@[deleted]:~# cat /proc/pressure/*
some avg10=0.00 avg60=0.00 avg300=0.00 total=459559255
full avg10=0.00 avg60=0.00 avg300=0.00 total=0
some avg10=0.00 avg60=0.00 avg300=0.06 total=671040703
full avg10=0.00 avg60=0.00 avg300=0.06 total=656378817
some avg10=0.00 avg60=0.00 avg300=0.00 total=5025023
full avg10=0.00 avg60=0.00 avg300=0.00 total=4950939

输出了类似的文本就说明成功启用了PSI,接下来就可以拉redroid容器了。

拉Docker Image

redroid似乎是没有ADB【11】鉴权机制【12】,故adb端口被意外暴露在公网是一个很大的安全风险,请务必重视这个问题

这里使用docker-compose【13】一把梭

services:
  redroid:
    image: redroid/redroid:14.0.0-latest
    stdin_open: true
    tty: true
    privileged: true
    ports:
      - [deleted]:5555:5555  # 此处为adb端口开放地址,请注意把控安全风险
    volumes:
      - /mnt/user/appdata/redroid:/data # 所有数据的存放目录
    command:
      - androidboot.redroid_width=720 # 分辨率,根据你脚本去设置
      - androidboot.redroid_height=1280
      - androidboot.redroid_dpi=320
      - androidboot.redroid_fps=60
      - androidboot.redroid_gpu_mode=host # 启用硬件加速,host->GPU加速
      - ro.product.cpu.abilist0=x86_64,arm64-v8a,x86,armeabi-v7a,armeabi # 設定libndk相關
      - 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

拉取镜像启动即可。

验证

验证的话使用一个很经典的adb控手机的软件——scrcpy【14】来控制就可以了。

Invalid GitHub repository path: Genymobile/scrcpy/

直接下载windows版本的releases【15】,里面呢自带一个adb,我们右键打开shell连上即可。

PS C:\Users\type6\Desktop\scrcpy-win64-v3.3.4> ./adb.exe connect 172.16.255.2:5555
already connected to 172.16.255.2:5555
PS C:\Users\type6\Desktop\scrcpy-win64-v3.3.4> .\scrcpy.exe

如果此时报和audio【16】(音频)相关的错误,可以考虑禁用音频功能,即: .\scrcpy.exe --no-audio

PS C:\Users\type6\Desktop\scrcpy-win64-v3.3.4> ./adb.exe connect 172.16.255.2:5555
already connected to 172.16.255.2:5555
PS C:\Users\type6\Desktop\scrcpy-win64-v3.3.4> .\scrcpy.exe --no-audio
scrcpy 3.3.4 
INFO: ADB device found:
INFO:     --> (tcpip)  172.16.255.2:5555               device  redroid14_x86_64
C:\Users\type6\Desktop\scrcpy-win64-v3.3.4\scrcpy-server: 1 file pushed, 0 skipped. 96.7 MB/s (90980 bytes in 0.001s)
[server] INFO: Device: [redroid] redroid redroid14_x86_64 (Android 14)
INFO: Renderer: direct3d
INFO: Texture: 1280x720

接下来你就可以看到你的容器化Android系统的GUI【17】界面了。

给容器化系统装App

这个镜像很精简,Chrome都是没有的,不过docker好处是可以很容易的在宿主系统下载APK【18】
直接在unraid终端里面cd到这个路径(你需要根据你的docker-compose文件做修改): /mnt/user/appdata/redroid/media/0/Download/ 随后wget【19】一个apk就行了。

需要注意的是沟槽的【20】权限还在追你,你下完后需要修改权限。权限的GID/UID【21】不一定和我一样,所以这里我介绍下怎么获取。

首先在scrcpy里面操控android打开Files App【22】,就是文件管理器。在Download目录里面新建个文件夹,完事了回到unraid的shell,cd到 /mnt/user/appdata/redroid/media/0/Download/

root@Ayabe:/mnt/user/appdata/redroid/media/0/Download# cd /mnt/user/appdata/redroid/media/0/Download/ 
root@Ayabe:/mnt/user/appdata/redroid/media/0/Download# ls -lh
total 2.0G
-rw-rw----+ 1 root root 2.0G Mar  5 08:42 Reverse1999_Bluepoch_1000.apk
drwx--S---+ 1 10079 10079    6 Mar  8 17:29 Test/
root@Ayabe:/mnt/user/appdata/redroid/media/0/Download# 

这里看到我们新建的文件夹GID / UID是10079,用chown【23】修改即可。

root@Ayabe:/mnt/user/appdata/redroid/media/0/Download# chown 10079:10079 Reverse1999_Bluepoch_1000.apk 
root@Ayabe:/mnt/user/appdata/redroid/media/0/Download# ls -lh
total 2.0G
-rw-rw----+ 1 10079 10079 2.0G Mar  5 08:42 Reverse1999_Bluepoch_1000.apk
drwx--S---+ 1 10079 10079    6 Mar  8 17:29 Test/

接下来就和你用手机一样安装就行了。

此作者没有提供个人介绍。
最后更新于 2026-03-12