{"id":13596665,"url":"https://github.com/casualsnek/waydroid_script","last_synced_at":"2025-04-04T10:04:47.047Z","repository":{"id":38737355,"uuid":"412902154","full_name":"casualsnek/waydroid_script","owner":"casualsnek","description":"Python Script to  add OpenGapps, Magisk, libhoudini translation library and libndk translation library to waydroid !","archived":false,"fork":false,"pushed_at":"2024-08-20T00:23:20.000Z","size":22253,"stargazers_count":2246,"open_issues_count":119,"forks_count":185,"subscribers_count":22,"default_branch":"main","last_synced_at":"2025-04-03T02:24:16.237Z","etag":null,"topics":["android","linux","magisk","opengapps","waydroid","waydroid-script"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/casualsnek.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-10-02T20:13:49.000Z","updated_at":"2025-04-02T14:48:14.000Z","dependencies_parsed_at":"2023-12-28T14:01:41.595Z","dependency_job_id":"79546149-5396-4d23-989f-cc97d208b29c","html_url":"https://github.com/casualsnek/waydroid_script","commit_stats":{"total_commits":143,"total_committers":27,"mean_commits":5.296296296296297,"dds":0.7342657342657343,"last_synced_commit":"1a2d3ad643206ad5f040e0155bb7ab86c0430365"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/casualsnek%2Fwaydroid_script","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/casualsnek%2Fwaydroid_script/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/casualsnek%2Fwaydroid_script/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/casualsnek%2Fwaydroid_script/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/casualsnek","download_url":"https://codeload.github.com/casualsnek/waydroid_script/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247157046,"owners_count":20893202,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["android","linux","magisk","opengapps","waydroid","waydroid-script"],"created_at":"2024-08-01T16:02:38.293Z","updated_at":"2025-04-04T10:04:47.013Z","avatar_url":"https://github.com/casualsnek.png","language":"Python","funding_links":[],"categories":["Python","android"],"sub_categories":[],"readme":"# Waydroid Extras Script\n\nScript to add GApps and other stuff to Waydroid!\n\n# Installation/Usage\n\n## Interactive terminal interface\n\n```\ngit clone https://github.com/casualsnek/waydroid_script\ncd waydroid_script\npython3 -m venv venv\nvenv/bin/pip install -r requirements.txt\nsudo venv/bin/python3 main.py\n```\n\n![image-20230430013103883](assets/img/README/image-20230430013103883.png)\n\n![image-20230430013119763](assets/img/README/image-20230430013119763.png)\n\n![image-20230430013148814](assets/img/README/image-20230430013148814.png)\n\n\n\n## Command Line\n\n```bash\ngit clone https://github.com/casualsnek/waydroid_script\ncd waydroid_script\npython3 -m venv venv\nvenv/bin/pip install -r requirements.txt\n# install something\nsudo venv/bin/python3 main.py install {gapps, magisk, libndk, libhoudini, nodataperm, smartdock, microg, mitm}\n# uninstall something\nsudo venv/bin/python3 main.py uninstall {gapps, magisk, libndk, libhoudini, nodataperm, smartdock, microg}\n# get Android device ID\nsudo venv/bin/python3 main.py certified\n# some hacks\nsudo venv/bin/python3 main.py hack {nodataperm, hidestatusbar}\n```\n\n## Dependencies\n\n\"lzip\" is required for this script to work, install it using your distribution's package manager:\n### Arch, Manjaro and EndeavourOS based distributions:\n\tsudo pacman -S lzip\n### Debian and Ubuntu based distributions:\n\tsudo apt install lzip\n### RHEL, Fedora and Rocky based distributions:\n\tsudo dnf install lzip\n### openSUSE based distributions:\n\tsudo zypper install lzip\n\n## Install OpenGapps\n\n![](assets/1.png)\n\nOpen terminal and switch to the directory where \"main.py\" is located then run:\n\n    sudo venv/bin/python3 main.py install gapps\n\nThen launch waydroid with:\n\n    waydroid show-full-ui\n\nAfter waydroid has finished booting, open terminal and switch to directory where \"main.py\" is located then run:\n\n    sudo python3 main.py google\nCopy the returned numeric ID, then open [\"https://google.com/android/uncertified/?pli=1\"](https://google.com/android/uncertified/?pli=1). Enter the ID and register it. Wait 10-20 minutes for device to get registered. Then clear Google Play Service's cache and try logging in!\n\n\n## Install Magisk\n\n![](assets/2.png)\n\nOpen terminal and switch to directory where \"main.py\" is located then run:\n\n    sudo venv/bin/python3 main.py install magisk\n\nMagisk will be installed on next boot! \n\nZygisk and modules like LSPosed should work now.\n\nIf you want to update Magisk, Please use `Direct Install into system partition` or run this sript again.\n\nThis script only focuses on Magisk installation, if you need more management, please check https://github.com/nitanmarcel/waydroid-magisk\n\n## Install libndk arm translation \n\nlibndk_translation from guybrush firmware. \n\nlibndk seems to have better performance than libhoudini on AMD.\n\nOpen terminal and switch to directory where \"main.py\" is located then run:\n\n    sudo venv/bin/python3 main.py install libndk\n\n## Install libhoudini arm translation\n\nIntel's libhoudini for intel/AMD x86 CPU, pulled from Microsoft's WSA 11 image\n\nhoudini version: 11.0.1b_y.38765.m\n\nhoudini64 version: 11.0.1b_z.38765.m\n\nOpen terminal and switch to directory where \"main.py\" is located then run:\n\n    sudo venv/bin/python3 main.py install libhoudini\n\n## Integrate Widevine DRM (L3)\n\n![](assets/3.png)\n\nOpen terminal and switch to directory where \"main.py\" is located then run:\n\n    sudo venv/bin/python3 main.py install widevine\n\n## Install Smart Dock\n\n![](assets/4.png)\n![](assets/5.png)\n\nOpen terminal and switch to directory where \"main.py\" is located then run:\n\n    sudo venv/bin/python3 main.py install smartdock\n\n## Install a self-signed CA certificate\n\nOpen terminal and switch to directory where \"main.py\" is located then run:\n\n    sudo venv/bin/python3 main.py install mitm --ca-cert mycert.pem\n\n## Granting full permission for apps data (HACK)\n\n\nThis is a temporary hack to combat against the apps permission issue on Android 11. Whenever an app is open it will always enable a property (persist.sys.nodataperm) to make it execute a script to grant the data full permissions (777). The **correct** way is to use `sdcardfs` or `esdfs`, both need to recompile the kernel or WayDroid image.\n\nArknights, PUNISHING: GRAY RAVEN and other games won't freeze on the black screen.\n\n![](assets/6.png)\n\nOpen terminal and switch to directory where \"main.py\" is located then run:\n\n```\nsudo venv/bin/python3 main.py hack nodataperm\n```\n**WARNING**: Tested on `lineage-18.1-20230128-VANILLA-waydroid_x86_64.img`. This script will replace `/system/framework/service.jar`, which may prevent WayDroid from booting. If so, run `sudo venv/bin/python3 main.py uninstall nodataperm` to remove it.\n\n\nOr you can run the following commands directly in `sudo waydroid shell`. In this way, every time a new game is installed, you need to run it again, but it's much less risky.\n\n```\nchmod 777 -R /sdcard/Android\nchmod 777 -R /data/media/0/Android \nchmod 777 -R /sdcard/Android/data\nchmod 777 -R /data/media/0/Android/obb \nchmod 777 -R /mnt/*/*/*/*/Android/data\nchmod 777 -R /mnt/*/*/*/*/Android/obb\n```\n\n- https://github.com/supremegamers/device_generic_common/commit/2d47891376c96011b2ee3c1ccef61cb48e15aed6  \n- https://github.com/supremegamers/android_frameworks_base/commit/24a08bf800b2e461356a9d67d04572bb10b0e819\n\n## Install microG, Aurora Store and Aurora Droid\n\n![](assets/7.png)\n\n```\nsudo python main.py install microg\n```\n\n## Hide Status Bar\nBefore\n![Before](assets/8.png)\n\nAfter\n![After](assets/9.png)\n\n```\nsudo venv/bin/python3 main.py hack hidestatusbar\n```\n\n\n## Get Android ID for device registration\n\nYou need to register you device with its it before being able to use gapps, this will print out your Android ID which you can use for device registration required for Google apps:\nOpen terminal and switch to directory where \"main.py\" is located then run:\n\n    sudo venv/bin/python3 main.py certified\n\nStar this repository if you find this useful, if you encounter problem create an issue on GitHub!\n\n## Error handling  \n\n- Magisk installed: N/A\n\nCheck [waydroid-magisk](https://github.com/nitanmarcel/waydroid-magisk)\n\n## Credits\n- [WayDroid](https://github.com/waydroid/waydroid)\n- [Magisk Delta](https://huskydg.github.io/magisk-files/)\n- [microG Project](https://microg.org)\n- [Open GApps](https://opengapps.org)\n- [Smart Dock](https://github.com/axel358/smartdock)\n- [wd-scripts](https://github.com/electrikjesus/wd-scripts/)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcasualsnek%2Fwaydroid_script","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcasualsnek%2Fwaydroid_script","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcasualsnek%2Fwaydroid_script/lists"}