Integrate Magisk root and Google Apps into WSA (Windows Subsystem for Android)
AGPL-3.0 License
⚠️ Magisk on WSA will no longer be available after March 5, 2025. Learn more.
⚠️ For fork developers: Please don't build using GitHub Actions, as GitHub will count your forked GitHub Actions usage against this upstream repository, which may cause this upstream repository gets disabled by GitHub staff like MagiskOnWSA because of numerous forks building GitHub Actions, and counting the forks' Action usage against this upstream repository.
Linux (x86_64 or arm64)
The following dependencies are required:
DistrOS | |||||
---|---|---|---|---|---|
Debian | python3 aria2 unzip sudo |
whiptail |
python3-venv |
python3-pip |
p7zip-full |
openSUSE Tumbleweed | Same as above | dialog |
python3-venvctrl |
Same as above | Same as above |
Arch | Same as Debian | libnewt |
Same as Debian | python-pip |
p7zip |
The python3 library requests
is used.
Python version 3.7.2.
Star (if you like).
Clone the repo to local:
git clone https://github.com/LSPosed/MagiskOnWSALocal.git --depth 1
Run cd MagiskOnWSALocal
.
Run ./scripts/run.sh
.
Select the WSA version and its architecture (mostly x64).
Select the version of Magisk.
Choose which brand of GApps you want to install:
MindTheGapps
There is no other variant we can choose.
Select the root solution (none means no root).
If you are running the script for the first time, it will take some time to complete. After the script completes, two new folders named output
and download
will be generated in the MagiskOnWSALocal
folder. Go to the output
folder. While running the ./run.sh
script in the step 3, if you selected Yes
for Do you want to compress the output?
then in output
folder you will see a compressed file called WSA-with-magisk-stable-MindTheGapps_2207.40000.8.0_x64_Release-Nightly
or else there will be folder with the WSA-with-magisk-stable-MindTheGapps_2207.40000.8.0_x64_Release-Nightly
. If there is a folder open it and skip to step 10. NOTE: The name of compressed file or the folder generated in the output
folder may be different for you. It will be dependent on the choices made when executing ./run.sh
.
Extract the compressed file and open the folder created after the extraction of the file.
Here look for file Run.bat
and run it.
%LOCALAPPDATA%\Packages\MicrosoftCorporationII.WindowsSubsystemForAndroid_8wekyb3d8bbwe\LocalCache\userdata.vhdx
before uninstallation and restore it after installation.)Install.ps1
as Administrator:
Win+x
and select Windows Terminal (Admin)
.cd "{X:\path\to\your\extracted\folder}"
and press enter
, and remember to replace {X:\path\to\your\extracted\folder}
including the {}
, for example cd "D:\wsa"
PowerShell.exe -ExecutionPolicy Bypass -File .\Install.ps1
and press Enter
.Magisk/Play Store will be launched. Enjoy by installing LSPosed-Zygisk with Zygisk enabled or Riru and LSPosed-Riru.
Can I delete the installed folder?
No.
How can I update WSA to a newer version?
Update build scripts:
git pull
For more usage of git, referred to https://git-scm.com/book
Rerun the script, replace the content of your previous installation and rerun Install.ps1
. Don't worry, your data will be preserved.
How can I get the logcat from WSA?
%LOCALAPPDATA%\Packages\MicrosoftCorporationII.WindowsSubsystemForAndroid_8wekyb3d8bbwe\LocalState\diagnostics\logcat
How can I update Magisk to a newer version?
Do the same as updating WSA.
How to pass Play Integrity (formerly known as SafetyNet)?
Like all the other emulators, no way.
Virtualization is not enabled?
Install.ps1
helps you enable it if not enabled. After rebooting, rerun Install.ps1
to install WSA. If it's still not working, you have to enable virtualization in BIOS. That's a long story so ask Google for help.
How to remount the system as read-write?
No way in WSA since it's mounted as read-only by Hyper-V. You can modify the system by making a Magisk module. Or directly modify the system.img. Ask Google for help.
I cannot adb connect localhost:58526
, what to do?
Make sure developer mode is enabled. If the issue persists, check the IP address of WSA on the setting page and try adb connect ip:5555
.
Why the Magisk online module is empty?
Magisk actively removes the online module repository. You can install the module locally or by adb push module.zip /data/local/tmp
and adb shell su -c magisk --install-module /data/local/tmp/module.zip
.
Can I use Magisk v23.0 stable or a lower version?
No. Magisk has bugs preventing itself from running on WSA. Magisk v24+ has fixed them. So you must use Magisk v24 or later.
How can I get rid of Magisk?
Choose none
as the root solution.
How to install custom GApps?
Where can I download MindTheGapps?
You can download from here MindTheGapps (mirror).
Note that there is no x86_64 pre-build, so you need to build it by yourself (Repository).
Or you can download the built package for 12.1 and 13 for x86_64 from this page.
Is it possible to migrate data from a lower version like 2305 to a newer version?
This is certainly available, Microsoft's change of read-only partition from 2305's EROFS to read-only EXT4 only affects the read-only system partition.
It has no effect on the user data partition. Check the logs if there is a failure to boot.
How to install KernelSU?
su
for debugging Magisk Integrationerofs-utils
with erofsfuse enabledThe repository is provided as a utility.
Android is a trademark of Google LLC. Windows is a trademark of Microsoft Corporation.