Microsoft has really leaned into the whole open source world since Staya Nadella took over in 2014, and that’s been pretty wonderful if you ask me. I am completely enamored with their use of GitHub for developing Windows modules, and especially with the Windows Subsystem for Linux that lets me run all my favorite Linux tools right from the convenience of Windows Terminal (which is also pretty awesome, by the way). While Apple has doubled-down on the closed-off, walled-garden ecosystem that they’ve been working on since the debut of the iPhone, Microsoft has gone in the opposite direction (to great benefit), embracing the same kinds of interoperability with Android devices through the Your Phone app. The only piece of the puzzle that’s been missing is the ability to run Android apps directly on the desktop which is where the new Windows Subsystem for Android comes in. Unfortunately, the system is immediately hobbled by having only the Amazon app store available, so we’ll need a way to get any and all apps (and app stores) installed. I generally prefer starting from the Google Play store (which has its own caveats, of course), so we’ll need to go through an alternative installation process to set up WSA rather than the straightforward installation via the Microsoft Store.
This tutorial is based on work previously put together by the WSA Community on GitHub with my own commentary to clarify or expand on the subject matter.
Install Windows Subsystem for Android and Windows Subsystem for Linux from the Microsoft Store
The first step in getting the Google version of WSA is to install the stock version (with Amazon) from the Microsoft Store. There are several dependencies that WSA requires, so this is the quickest and easiest way to have them installed on your machine. Once WSA is installed, you can skip signing into the Amazon App Store and uninstall the stock WSA.
To compile a custom version of WSA, we’re going to need a few tools that run exclusively in Linux (Android being based on the Linux kernel, but you knew that). Grab your preferred flavor from the Microsoft Store. I’m using Ubuntu because that’s the one I’m most familiar with (being my daily driver for half a decade). Once you have WSL installed, open a PowerShell terminal and type wsl --list --verbose
to verify that your distro is running WSL version 2. If, for whatever reason, your distro is running WSL version 1, you’ll need to stop the WSL with wsl --shutdown
and type the following command:
wsl --set-version <distro name> 2
where <distro name> is the name of your distro as listed when you ran the –list command earlier. This will take just a few moments, and you’ll be ready to continue!
Install Linux packages
If you’ve already set up your Linux distro as a tab in Windows Terminal, good on you! Open that tab and get ready to Bash. For the rest of you, start your distro by invoking the following in a PowerShell terminal:
wsl -d <distro name>
Now you’ve got your Linux distro up and running, so the following commands will be entered at the $
prompt (instead of the Windows >
prompt):
sudo apt update
sudo apt install unzip lzip
Prepare Installation Folder
Back in Windows Explorer, create a folder at C:\WSA
. This is going to be the working folder for our installation. Now, we need to download the installation package. However, since we’re going to be modifying the package, we can’t just grab it from the Microsoft Store (that’s what we did earlier). You’re also going to want to install a Zip archive manager like 7Zip or PeaZip.
Download the WSA installation package
We’re going to use a link generator service to get the installation package from the Microsoft Store’s repository. Navigate to https://store.rg-adguard.net and enter the following settings before clicking the check mark:
ProductID: 9P3395VX91NR
RP: Fast
You’ll be presented with a list of all the files related to that Product ID, but we’re looking for the *.msixbundle file extension associated with WindowsSubsystemForAndroid. The file should measure around 1.3GB. Download the package file to your C:\WSA folder and open it with your Zip manager. You’re going to see a lot of files with the *.msix extension, but sort them by size to find the biggest files. Find the one that matches your OS architecture (for example, WsaPackage_X.X.XXXXX.X_x64_Release-Nightly.msix
for a 64-bit Windows) and extract it.
Now, extract the contents of the *.msix file to a new folder within C:\WSA. Locate and delete the following:
“AppxBlockMap.xml”
“AppxSignature.p7x”
“[Content_Types].xml”
and delete the “AppxMetadata” folder.
Download OpenGApps
Navigate to https://opengapps.org/ and download the Android 11.0 Pico variant for your architecture.
Save the Zip file in the C:\WSA folder, but don’t extract it.
Clone the GitHub Repo and Populate Directories
Fire up your WSL distro and mount your C:\WSA directrory so you can clone the WSAGAScript repo by running the following at your WSL ($
) prompt:
cd /mnt/c/WSA
git clone https://github.com/WSA-Community/WSAGAScript
(NOTE: If this repository fails, I have a fork at https://github.com/airbornesurfer/WSAGAScript)
In Windows Explorer, go back to your extracted WsaPackage folder (the one you deleted files from earlier) and copy the following files into the C:\WSA\WSAGAScript#IMAGES folder:
product.img
system.img
system_ext.img
vendor.img
Lastly, copy the GApps Zip file downloaded earlier into C:\WSA\WSAGAScript#GAPPS (again, do not extract it).
Create the New Installation Package
Check the “VARIABLES.sh” file to verify that your architecture is set correctly, then set the permissions for the scripts that will create the new installation images. From your WSL terminal (you should still be in mnt/c/WSA/WSAGAScript), invoke the following command:
chmod +x *.sh
You can verify the scripts are now executable by invoking ls -l
and checking that the *.sh files show “-rwxrwxrwx”. If all is set, then execute the scripts by invoking the following:
./extract_gapps_pico.sh
sudo ./extend_and_mount_images.sh
sudo ./apply.sh
sudo ./unmount_images.sh
Once complete, move the *.img files from the C:\WSA\WSAGAScript#IMAGES folder back to the WsaPackage folder you previously copied them from.
Register the New Installation Package and Install
Open Windows Developer Settings (search “Developer Settings” from the Start Menu) and enable Developer Mode. Close Windows Terminal and open a new PowerShell Terminal as Administrator, then invoke the following command: Add-AppxPackage -Register <path-to-extracted-msix>\AppxManifest.xml
where <path-to-extracted-msix>
is the path to the WsaPackage folder inside C:\WSA.
WSA will now install with GApps. Once complete, sign into the Google Play Store and install “Android System WebView” to make sure your apps don’t crash.