This project contains script to integrate OpenGApps, Magisk, libhoudini, libndk translation libraries and other goodies (e.g smartdock, widevine, hidden status bar, full permission to app data) into Waydroid to enable advanced Android app support and system modifications.
lzip is required for the script to function properly. Install it using your distribution's package manager.
Run the main script to launch the interactive terminal interface, which appears as follows:
A Nix flake is present in the repository. Simply run:
nix run github:Tanvir1337x/waydroid_tweaks
Available packages: gapps, magisk, libndk, libhoudini, nodataperm, smartdock, microg, and mitm.
To install a package:
sudo python3 main.py install <pkg>
To uninstall a package:
sudo python3 main.py uninstall <pkg>
You must register your device to use Google Apps. The following command displays your Android ID, which is required for device registration:
sudo python3 main.py certified
See this section: #opengapps
Available hacks: nodataperm and hidestatusbar.
To install a hack:
sudo python3 main.py hack <hack>
To install OpenGApps:
sudo python3 main.py install gapps
Then, launch Waydroid:
waydroid show-full-ui
After Waydroid has finished booting, run:
sudo python3 main.py certified
Copy the returned numeric ID, visit this link, enter the ID, and register it. Wait approximately 30 minutes for the device to get registered, then clear the Google Play Services cache and try logging in.
Note: This script only focuses on Magisk installation. For advanced management or issues like
Magisk installed: N/A
, refer to waydroid-magisk.
To install Magisk:
sudo python3 main.py install magisk
Magisk will be installed on the next boot.
Zygisk and modules like LSPosed should work.
To update Magisk, use the Direct Install into system partition option or rerun the script.
To install microG:
sudo python main.py install microg
libndk_translation from Guybrush firmware.
Note: libndk typically outperforms libhoudini on AMD.
To install libndk:
sudo python3 main.py install libndk
Intel's libhoudini for Intel/AMD x86 CPUs, sourced from Microsoft's WSA 11 image.
Caution: libhoudini often underperforms compared to libndk on AMD.
- houdini version: 11.0.1b_y.38765.m
- houdini64 version: 11.0.1b_z.38765.m
To install libhoudini:
sudo python3 main.py install libhoudini
To install Widevine:
sudo python3 main.py install widevine
To install Smart Dock:
sudo python3 main.py install smartdock
This hack temporarily addresses app permission issues on Android 11 by enabling the persist.sys.nodataperm property to execute a script that grants full permissions (777
) to app data.
For a more robust solution, consider using sdcardfs
or esdfs
, which requires recompiling the kernel or WayDroid image.
To grant full permission to app data:
sudo python3 main.py hack nodataperm
Note: Tested on
lineage-18.1-20230128-VANILLA-waydroid_x86_64.img
.
Warning: The script replaces
/system/framework/service.jar
, which may prevent WayDroid from booting.
If this occurs, uninstall the hack:
sudo python3 main.py uninstall nodataperm
Alternatively, execute the following commands in sudo waydroid shell
:
chmod 777 -R /sdcard/Android
chmod 777 -R /data/media/0/Android
chmod 777 -R /sdcard/Android/data
chmod 777 -R /data/media/0/Android/obb
chmod 777 -R /mnt/*/*/*/*/Android/data
chmod 777 -R /mnt/*/*/*/*/Android/obb
Re-run the commands after installing new apps as needed.
To hide the status bar:
sudo python3 main.py hack hidestatusbar
To install a self-signed CA certificate:
sudo python3 main.py install mitm --ca-cert mycert.pem