Android Emulators have been a pain in everyone's side for pretty much ever. Intel HAXM is great, but limited to Intel, then there were custom emulators like Xamarin Android Player and Genymotion, but required additional installs, and finally Hyper-V support, which brought with it AMD support, and side by side Docker support as well. But now, Windows 11 is here and so is a brand new Insiders Preview that brings with it Android app support, which is CRAZY AWESOME. More so is that you can use the new Windows Subsystem for Android to develop, debug, and deploy your Android apps from your favorite IDE! Let's walk through what you need to do to get it all setup. However, if you want to just watch a video I have that for you as well!
Windows Subsystem for Android
So, what is this thing? Well, it is like the Windows Subsystem for Linux enabling you to have a full subsystem available for Android instead of Linux. Now at this point, you don't have access to 100% Android. It is not a device just sitting there, but instead think of Windows being the OS that can run Android apps. There is no Android launcher because Windows is the launcher of the apps.
Get Windows Insiders Beta
The first thing that you will need is the Windows Insiders Beta build (not Dev) that matches Windows 11 Build 22000.xxx. You can read all about how to turn on Windows Insiders on their blog.
Install Windows Subsystem for Android
Now it is time to install the Windows Subsystem for Android, which also comes with the Amazon App Store. This is done directly from the Microsoft Store on Windows and will require a reboot and some final installation steps.
Once it is installed you will want to search and pin the Windows Subsystem for Android app.
Developer Mode Setup
Inside of the WSA app you will find all sorts of great options, but a few things to turn on are "Continuous" mode, so the subsystem is always ready to go.
Then, flip on Developer mode:
Notice here that once you turn on developer mode you get instructions on how to connect to adb.
I am going to steal this part directly from the documentation. To connect to the Windows Subsystem for Android VM for debugging, you have two options:
- Use localhost for connecting to debugging. The IP address of the localhost is:
127.0.0.1:58526. Windows Subsystem for Android must be running in order to connect, the best way to launch Windows Subsystem for Android is by launching an Android app that was installed with the Amazon Appstore.
- To connect to the localhost address of Windows Subsystem for Android, enter:
adb connect 127.0.0.1:58526
Alternative Method: Use the Windows Subsystem for Android Settings app to get the IP address.
- Launch the Settings app. (Use Windows Search to select and launch.)
- The IP address will be displayed under the IP address section. If there is no IP address being displayed, launch an Android app that was installed using the Amazon Appstore, then select Refresh on the IP address button in the Settings app.
Now that you have the IP address to connect to the Windows Subsystem for Android VM, connect using adb connect:
adb connect 172.22.137.166
Originally, I had to connect through the IP address, however after a reboot and relaunching WSA, I got a firewall prompt and then 127.0.0.1 started working for me.
Now that you are connected via ADB, WSA will just show up in your IDE of choice because it is a device!
Your Apps are on Windows
That is right, your apps are on Windows! You don't need to boot things up to see your app because they are literally in the start menu!
Also, when you open the app setting, they are the Android app settings! How cool is that!?!?!
There are a few things to be aware of with WSA. There is no Google Play Services, so if you are testing out maps or other services that is not going to work. It isn't an emulator, which means you don't get to control the skin or conditions under where your app runs since it is running under WSA, not an emulator. Not every sensor is connected, for example it looks like Bluetooth isn't forwarded to WSA from your Windows machine. I also haven't found a way for apps running under WSA to talk about to the local machine for debugging web servers, but I am sure it is a matter of time before someone figures it out.
However, this is the very first preview of WSA and I am extremely happy with it! I love it and never want to open an Android emulator ever again!