ReDroid是一個開源雲手機的解決方案。不同於一般的Android模擬器。ReDroid是用Docker跑Android系統,可以headless的執行,再透過Scrcpy連線到桌面,支援GPU加速。
實際使用例:自架Android雲手機
之前介紹的ReDroid安裝以Linux實機環境為主,本文特解說如何在Windows透過WSL安裝ReDroid。

1. 測試環境 #
- Windows 11 26H2
- WSL Ubuntu 26.04
- 四核心以上x86架構CPU,CPU需支援虛擬化
- 8GB(含)以上RAM
- 10GB硬碟空間
關於GPU加速這點比較迷,雖然WSLg有DirectX對OpenGL的轉譯,可是缺少Vulkan支援,致使Redroid都是CPU渲染的Swiftshader(可以在Android用AIDA64查看GPU),效能差勁。吃不到Windows的GPU,不論使用Intel還是Nvidia都一樣。
2. 準備WSL #
參考這篇,啟用Hyper-V,安裝WSL。
如果有Nvidia顯示卡,請安裝WSL專用的Nvidia驅動。
3. 重新編譯WSL核心 #
-
根據開發者的指示,WSL預設的Linux核心缺少ReDroid所需的核心功能,且不支援動態載入核心模組,所以得整個重新編譯。
-
參考編譯WSL核心的步驟,開啟Android Binder支援:Device Drivers –> Android –> Select “Android Binder IPC Driver” -> Save。
-
替換WSL的核心。將WSL重開機。
4. 安裝Docker #
-
在WSL內安裝Docker,啟動服務
-
新增ReDroid的docker-compose
cd ~/
mkdir redroid
cd redroid
vim docker-compose.yml- 填寫以下內容,跑Android 11的容器,嘗試啟用宿主機的GPU硬體加速(雖然沒效)
services:
redroid:
image: redroid/redroid:11.0.0
stdin_open: true
tty: true
privileged: true
ports:
- 127.0.0.1:5555:5555 # ADB通訊埠,為加強安全性,設定為只監聽本機localhost的通訊埠
volumes:
- ./redroid-11-data:/data # 資料存放在目前目錄
command:
- androidboot.redroid_width=720 # 手機解析度
- androidboot.redroid_height=1280
- androidboot.redroid_dpi=320
- androidboot.redroid_fps=60
- androidboot.redroid_gpu_mode=host # 嘗試啟用宿主機的GPU硬體加速,host為GPU加速,guest為軟體渲染。如果無法啟動就用guest
- 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- 啟動服務
docker compose up -d5. 連線至ReDroid桌面 #
Scrcpy裝在Windows或WSL都可以。
-
於Windows下載Platform Tools,解壓縮。
-
進入Platform Tools資料夾,按SHIFT+右鍵開啟終端機
-
用以下指令連線到ReDroid,成功的話會顯示
connected to localhost:5555
./adb connect localhost:5555-
Windows下載QtScrcpy,解壓縮點選Qtscrcpy.exe執行。
-
開啟後按二下
localhost:5555的裝置,即會看到ReDroid桌面。
7. 安裝GMS和ARM轉譯器 #
預設的ReDroid什麼都沒有,APK得透過ADB指令安裝。
其餘東西開發者說要自己寫Dockerfile建置。
如果需要Google Play服務,和ARM → x86轉譯器,請看這篇。