Add libndk arm translation to ReDroid image
mainUse the -n flag to add libndk_translation (from guybrush firmware). This is often preferred over libhoudini for better performance on AMD hardware.
python redroid.py -nrepository·main·Indexed 19 days ago
https://github.com/ayasa520/redroid-scriptA script to inject Gapps (OpenGapps, liteGapps, MindTheGapps), Magisk, libndk (arm translation), and Widevine DRM into ReDroid images without requiring a full recompile of the Android image.
Use the -n flag to add libndk_translation (from guybrush firmware). This is often preferred over libhoudini for better performance on AMD hardware.
python redroid.py -nBefore running the script, ensure you have lzip installed on your host system.
# Example for Debian/Ubuntu
apt-get install lzipUse the -w flag to add Widevine DRM (L3) support to the ReDroid image.
python redroid.py -wUse the -m flag to add Magisk. This enables Zygisk and allows modules like LSPosed to function.
python redroid.py -mYou can add Google Apps (Gapps) to your ReDroid image using one of three providers:
-g-lg-mtgpython redroid.py -g
python redroid.py -lg
python redroid.py -mtgredroid/redroid:11.0.0.libndk for 32-bit apps, though arm64 apps should continue to work.libhoudini is currently not supported/working on redroid.If the device is not Play Protect certified, you must retrieve the Android ID and register it with Google.
adb root
adb shell 'sqlite3 /data/data/com.google.android.gsf/databases/gservices.db "select * from main where name = \"android_id\";"'If using the 12.0.0_64only image with libndk, you must include specific boot and bridge properties when starting the container.
docker run -itd --rm --privileged \
-v ~/data12:/data \
-p 5555:5555 \
redroid/redroid:12.0.0_64only-ndk \
androidboot.use_memfd=1 \
ro.product.cpu.abilist=x86_64,arm64-v8a \
ro.product.cpu.abilist64=x86_64,arm64-v8a \
ro.dalvik.vm.isa.arm64=x86_64 \
ro.enable.native.bridge.exec=1 \
ro.dalvik.vm.native.bridge=libndk_translation.soTo build an image with Gapps, Magisk, Libndk, and Widevine for Android 11.0.0, run the script with combined flags and then start the container with the required properties.
# 1. Build the image
python redroid.py -a 11.0.0 -gmnw
# 2. Run the container
docker run -itd --rm --privileged \
-v ~/data:/data \
-p 5555:5555 \
redroid/redroid:11.0.0-gapps-ndk-magisk-widevine \
ro.product.cpu.abilist=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.vendor.enable.native.bridge.exec=1 \
ro.vendor.enable.native.bridge.exec64=1 \
ro.dalvik.vm.native.bridge=libndk_translation.so \
ro.ndk_translation.version=0.2.3The redroid.py script allows you to customize the container type, Android version, and various Android enhancements (Gapps, Magisk, etc.) via command-line flags.
# Reference of available flags:
# Container type
-c {docker,podman}, --container {docker,podman}
# Android version
-a, --android-version {8.1.0, 9.0.0, 10.0.0, 11.0.0, 12.0.0, 12.0.0_64only, 13.0.0}
# Enhancements
-g: Add OpenGapps
-lg: Add liteGapps
-mtg: Add MindTheGapps
-n: Add libndk arm translation
-m: Add Magisk
-w: Add widevine DRM(L3)