Microsoft’s Windows 11 announcement surprised us with the news that the upcoming OS will run Android apps alongside Windows apps. Unfortunately, the keynote was light on details. Will these apps use emulation? Will Windows’ existing Linux support be involved? We got our answers shortly after the keynote, thanks to a follow-up developer talk that went into some details.
The feature is officially called the “Windows Subsystem for Android,” which should tell you a lot about how it works. Windows currently has a “Windows Subsystem for Linux” (WSL), which uses a subset of the Hyper-V functionality to run Linux apps on a real Linux kernel alongside your Windows apps. (Hyper-V lets a second guest OS access the bare metal hardware instead of running on top of the host OS with less access to resources.) Real Android phones use the Linux kernel, and Microsoft is building an Android framework on top of WSL for the Windows Subsystem for Android. It sounds like we’re essentially getting x86 Android running on Hyper-V.
Android apps under Windows should feel just like native Windows apps, with a top-level window, taskbar entry, and the ability to be pinned to the start menu. During its presentation, Microsoft said, “Behind the scenes, we actually create a proxy native app that handles the bridge between the Android app model and the Windows app model.” Presumably, that means the system will provide things like a start menu shortcut, icons, entries in the app uninstall lists, and other minor Windows wrappings that will make the app feel native.
Microsoft is trying to do this with as little emulation as possible—maybe even no emulation, depending on your computer and app availability. Both Windows and Android run on x86 and Arm architectures, with Android favoring Arm and Windows favoring x86. If you’re running Windows on Arm and want to run an Arm Android app, things will work out great. If you’re on x86 Windows, Microsoft will try to ship you an x86 version of the Android app you want. But if the only thing available is an Arm app, “Intel Bridge Technology” is here to help by translating that Arm code into something an x86 CPU can run. Microsoft helpfully pointed out that this feature will also work on AMD CPUs.
Microsoft’s approach is similar to how a few other operating systems have gotten Android apps up and running. Chrome OS’s Android app support is probably the most prominent example. Chrome OS runs the Linux kernel already, and it stacks a containerized Android framework on top to run apps. If you have an x86 Chromebook, Chrome OS uses Android’s built-in Arm-to-x86 binary translation. If you’re on a Linux desktop OS, an installation of Anbox will do the same thing—loading the Android framework on top of Linux. You can even run Anbox on WSL today.
Many people’s last experience of x86 Android might have been from Intel’s 2012-era push for Atom-powered x86 phones, resulting in terrible devices like the early Asus Zenfone line. X86 Android has come a long way since then; the Android Chrome OS launch in 2016 certainly helped the OS a lot. Even before that 2016 launch, Google had been pushing for increased x86 app support alongside Arm, and Google’s development tools have made spitting out Arm and x86 binaries the default for some time now. Back in 2016, Google was expecting about 25 percent of Play Store apps to not support x86 and to need Arm translation. Today, with the larger x86 customer base thanks to Chrome OS, that number is probably more favorable.
Amazon, sideloading, and the non-Google Play app ecosystem
Microsoft is not using the Google Play ecosystem on Windows, though. Microsoft also isn’t trying to build its own Android ecosystem and is instead partnering with Amazon’s, using the same Amazon App Store found on Fire OS devices. Amazon put out a press release, but it doesn’t offer much other than a statement that more details will be released later.
We haven’t seen a start-to-finish Android app install on Windows 11 yet, so it’s not clear how this all works. Microsoft has released several screenshots showing the Microsoft Store advertising Amazon App Store Android apps. It looks like Amazon’s app catalog is listed inside the Microsoft Store, complete with reviews, screenshots, and a description, but it does not seem like the Microsoft Store can actually install Android apps. The key is in the install button. For Windows apps, it simply says, “Get,” indicating that it will install an app. For Android apps, the button is different. It says, “Get from Amazon App Store,” with a small box and arrow icon, indicating that it will kick you out to an external app.
The Wall Street Journal provided additional details on how this works. It sounds like Amazon will build an Amazon App Store client for Windows. You’ll need to sign in with your Amazon account to download apps. The Microsoft Store is there as a unified app search and not much else. Presumably, this means you’ll have two App Stores running on Windows all the time, with two places to check for updates. It does not sound streamlined.
Microsoft Engineer Miguel de Icaza confirmed that Windows 11 will support sideloading for those who don’t want to mess with any of this Amazon stuff. You should immediately have options for open source stores like F-Droid and the ability to load up on APKMirror apps. It will probably be only a matter of time before someone gets the entire Google Play Store working.
X86 apps are prevalent on Google Play thanks to years of defaults and pushes for additional architecture support. Is x86 prevalent on the Amazon App Store, though? You can sideload the Amazon App Store on any Android device, but the Echo Fire devices that exclusively use Amazon have all been Arm. Many apps are universal and run on all architectures, so… maybe.
It would have been nice if Microsoft pulled a Surface Duo and teamed up with Google to get the actual Play Store in Windows 11. The problem with using Android outside of the Play Store is that you lose access to the Google Play Services APIs for things like push notifications. Amazon has been building its own replacement APIs and cloud services for years for Fire OS, and if you can’t have Google Play, it’s the next best thing.
That’s all we have for now on Windows 11 Android compatibility. But rest assured, we’ll take a deeper dive once some actual code is out.