This repository is a fork of ayasa520/redroid-script.
The original author is now actively updating the upstream project. This project is no longer maintained. If you have issues or feature requests related to the script, please submit them to the original project.
I may upload images for other Android versions later based on demand.
You can use the prebuilt images below if you do not want to build your own image.
Tested environment: Oracle Cloud, Ubuntu 20.04.6 LTS, Linux 5.4.0-167-generic aarch64, 4 CPU cores, and 24 GB memory.
Install the required kernel modules first:
apt install linux-modules-extra-$(uname -r)
modprobe binder_linux devices="binder,hwbinder,vndbinder"
modprobe ashmem_linuxRun the container:
docker run -itd --restart=always --privileged \
--name a11_1 \
-v ~/redroid/redroid01/data:/data \
-p 11101:5555 \
abing7k/redroid:a11_magisk_arm \
androidboot.redroid_fps=30 \
androidboot.redroid_gpu_mode=guestThe AMD64 image includes ARM translation support, but compatibility is limited. Some apps may not run correctly.
Install the required kernel modules first:
apt install linux-modules-extra-$(uname -r)
modprobe binder_linux devices="binder,hwbinder,vndbinder"
modprobe ashmem_linuxOn some AMD64 systems, these kernel modules may not stay loaded after a reboot. If that happens, add the commands above to a startup script.
Run the container:
docker run -itd --restart=always --privileged \
--name a11_01 \
-v ~/redroid/redroid01/data:/data \
-p 11101:5555 \
abing7k/redroid:a11_magisk_ndk_amd \
androidboot.redroid_gpu_mode=auto \
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.2Available image tags:
abing7k/redroid:a11_magisk_armabing7k/redroid:a11_gapps_armabing7k/redroid:a11_gapps_magisk_armabing7k/redroid:a11_armabing7k/redroid:a11_magisk_ndk_amdabing7k/redroid:a11_gapps_magisk_ndk_amdabing7k/redroid:a11_gapps_ndk_amdabing7k/redroid:a11_ndk_amd
You can use scrcpy-web to connect to the Android container:
docker run -itd --privileged --name scrcpy-web -p 8000:8000/tcp emptysuns/scrcpy-web:v0.1
docker exec -it scrcpy-web adb connect your_server_ip:11101Open http://your_server_ip:8000 in your browser, then click H264 Converter.
Swipe up from the bottom of the screen.
This script adds OpenGApps, Magisk, libndk translation, and Widevine L3 to a ReDroid image without recompiling the entire image.
If the script does not work, please open an issue.
- Docker or Podman
lzip- Python dependencies from
requirements.txt
Install the Python dependencies:
python3 -m pip install -r requirements.txtThe default container runtime is Docker. Use -c or --container to choose Docker or Podman:
-c {docker,podman}, --container {docker,podman}
Use -a or --android-version to select the base ReDroid Android version. Supported values are 8.1.0, 9.0.0, 10.0.0, 11.0.0, 12.0.0, 12.0.0_64only, and 13.0.0. The default value is 11.0.0.
python3 redroid.py -a 11.0.0python3 redroid.py -glibndk_translation comes from the guybrush firmware image. It may perform better than libhoudini on AMD64 systems.
The script only installs libndk translation on x86 or x86_64 hosts, and only for Android 11.0.0, 12.0.0, and 12.0.0_64only.
python3 redroid.py -nZygisk and modules such as LSPosed should work.
python3 redroid.py -mpython3 redroid.py -wThis command adds OpenGApps, Magisk, libndk translation, and Widevine L3 to the same ReDroid image:
python3 redroid.py -a 11.0.0 -gmnwOn an x86_64 host, the generated image tag is:
redroid/redroid:11.0.0_gapps_ndk_magisk_widevine
Then start a container from the generated image. If the script prints a different tag, use the tag printed by the script.
docker run -itd --restart=always --privileged \
--name a11_1 \
-v ~/redroid/redroid01/data:/data \
-p 11101:5555 \
redroid/redroid:11.0.0_gapps_ndk_magisk_widevine \
androidboot.redroid_gpu_mode=guestBased on feedback from some WayDroid users, changing the kernel may solve this issue:
Run the following commands on the host:
adb root
adb shell settings get secure android_idCopy the Android ID and register it here:
https://www.google.com/android/uncertified/
This fork has only been verified with redroid/redroid:11.0.0. Enabling Zygisk may break libndk for 32-bit apps, but ARM64 apps can still work.
I have not been able to make any version of libhoudini work on ReDroid.
Use adb install to install APK files:
adb install app.apk






