Skip to content

abing7k/redroid-script

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

38 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

redroid-script

简体中文

About this fork

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.

Prebuilt images

You can use the prebuilt images below if you do not want to build your own image.

ARM64 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_linux

Run 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=guest

AMD64 image

The 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_linux

On 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.2

Available image tags:

  1. abing7k/redroid:a11_magisk_arm
  2. abing7k/redroid:a11_gapps_arm
  3. abing7k/redroid:a11_gapps_magisk_arm
  4. abing7k/redroid:a11_arm
  5. abing7k/redroid:a11_magisk_ndk_amd
  6. abing7k/redroid:a11_gapps_magisk_ndk_amd
  7. abing7k/redroid:a11_gapps_ndk_amd
  8. abing7k/redroid:a11_ndk_amd

Connect with scrcpy-web

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:11101

Open http://your_server_ip:8000 in your browser, then click H264 Converter.

scrcpy-web H264 converter

Swipe up from the bottom of the screen.

scrcpy-web screen 1

scrcpy-web screen 2

Build your own image

Remote-Android script

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.

Requirements

  • Docker or Podman
  • lzip
  • Python dependencies from requirements.txt

Install the Python dependencies:

python3 -m pip install -r requirements.txt

Container runtime

The default container runtime is Docker. Use -c or --container to choose Docker or Podman:

-c {docker,podman}, --container {docker,podman}

Android version

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.0

Add OpenGApps

OpenGApps

python3 redroid.py -g

Add libndk translation

libndk translation

libndk_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 -n

Add Magisk

Magisk

Zygisk and modules such as LSPosed should work.

python3 redroid.py -m

Add Widevine DRM L3

Widevine DRM L3

python3 redroid.py -w

Example

This command adds OpenGApps, Magisk, libndk translation, and Widevine L3 to the same ReDroid image:

python3 redroid.py -a 11.0.0 -gmnw

On 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=guest

Troubleshooting

Magisk installed: N/A

Based on feedback from some WayDroid users, changing the kernel may solve this issue:

https://t.me/WayDroid/126202

The device is not Play Protect certified

Run the following commands on the host:

adb root
adb shell settings get secure android_id

Android ID

Copy the Android ID and register it here:

https://www.google.com/android/uncertified/

libndk does not work

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.

libhoudini does not work

I have not been able to make any version of libhoudini work on ReDroid.

Install APK files

Use adb install to install APK files:

adb install app.apk

Credits

  1. remote-android
  2. waydroid_script
  3. Magisk Delta
  4. vendor_intel_proprietary_houdini

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages