The difficulty is for native code, the arm libraries embedded in many apps. Actually most Android app depends on native libs. For image processing for example. Nearly all games are using native arm binaries.
The sentence you quoted is probably related to native code only, which is the difficult part. It looks like they have some magic tricks to make them work on x86 architecture with having to recompile the libs.
Intel used the same tricks in their x86 android devices a few years ago, you could run arm native code on their x86 android versions transparently.
no, there's a new NT subsystem to support this: Windows Subsystem for Android, and as you could guess from the name, it is somewhat related to WSL.
the NT kernel was always designed to accommodate multiple subsystems running at once. Until WSL, there was only ever the Windows subsystem itself. soon there will be a third subsystem one can install.
this is neat, to me.
And interestingly enough, Android support was the original purpose of WSL. It was modified to run an Ubuntu user land on original release for some Microsoft product reason. It's nice to see it coming back in it's original form too.
There is amazing depth inside parts of Microsoft. For example, a team built Xbox360-on-PC sometime around 2007-08. That was emulating the PowerPC and GPU on Intel PCs. This didn't ship for various reasons as a product, but it was in the draw when Xbox One came along and they wanted game compatibility between Xbox 360 and XBox One.
WSLv1 was built on Drawbridge that originally came from MSR. I heard a rumor that WSL was spun out from a project using Drawbridge to run Android. Obviously a lot of work went into WSL subsequently, but the pieces to get started were in place.
WSL1 is the "Linux as a subsystem of Windows" thing I described.
Note that WSL2 is not a complete upgrade from WSL1, and WSL2 does not render WSL1 obsolete. They each have strengths that the other does not.
[1] https://source.android.com/devices/tech/dalvik/dex-format
A fair few games are developed in C++ and run through the Android native interface. Unity games, often written in C#, run on Unity's native runtime which has been ported to Android.
Intel Bridge Technology is, presumably, a way to get ARM binaries running on x86 by AOT compiling them. It is not necessary for Java or Kotlin apps or native x86 apps, so those will run without IBT.
“Clubhouse for Android” category: avant- grade apps that launch first on Android or define android platform. Nonexistent.
“Median phone user ecosystem:” The TikTok Facebook, Instagram, WhatsApp, YouTube, Snapchat, China app ecosystem and India app ecosystem. The experience of all these is bad on Windows browsers or unavailable.
”Games”: hard to say, because Windows is a better platform for games than Android by 10x.
This doesn’t sound very strategy driven. If it’s UX driven, hard to see how it competes with the median user getting an iPhone. This is the case with the consumer in China, where despite 30 Android app stores and lots of innovation / competition the iPhone is still preferred by those who can afford it.
Natively supporting an Android app store allows them to get apps so users will want to buy the hardware, which in turn generates market share that gets developers interested.
Around here when people aren't carrying an iPad, they are most certainly carrying either a Surface or a foldable Windows laptop.
Note that there are quite a few commercial "Android on PC" emulators already, e.g. https://www.memuplay.com/, https://www.bluestacks.com/ and https://www.bignox.com/.
In terms of scale, Bluestacks claim they have 50 million monthly active users which makes them pretty substantial! From https://www.bluestacks.com/promote-your-game.html. Overall mobile gaming revenue is now larger than console gaming and more than 2x PC gaming, and rapidly growing (https://scaletech.medium.com/mobile-gaming-statistics-trends...). Android gaming is a much bigger market than you'd imagine, especially for the younger generation.
> hard to see how it competes with the median user getting an iPhone
> This is the case with the consumer in China, where ... the iPhone is still preferred by those who can afford it
I think you're seriously overestimating how popular iPhones are, even to users who can afford them. Especially if you're looking at Windows users, Android is hugely dominant outside the US.
In China for example, iOS market share is actually constant around 20% or maybe slightly declining over the last decade (https://www.statista.com/statistics/262176/market-share-held...) despite the huge increase in average purchasing power, which makes it seem unlikely that the only thing holding people in China back from them is the price.
Globally, Android is at 70% of devices (https://gs.statcounter.com/os-market-share/mobile/worldwide) even in relatively wealth areas like the EU. iOS is primarily popular in the USA (where it's about 60% of devices). I suspect iOS and Mac usage are fairly closely correlated, so the Android percentage goes up substantially if you're only looking at Windows users. I think Android integration actually makes a lot of sense for Microsoft!
It subjects me to ads for third-rate games that I can't imagine people play. First-tier Android games like F/GO and Genshin Impact seem to be disabled on non-phone devices, particularly Bluestacks and Android TV. I see a huge amount of fan art from those games, but I wonder if gaming on Bluestacks is just a Potemkin Village.
So a user count comparable to 100%+ of the US phone user population?
It is not a small market, there's (I assume) a good correlation with Windows users, and it's not a bad idea for Microsoft to be looking at potential integrations here.
I think a possible advantage is also integration with Teams and OneDrive. Aandroid apps don't tend to use file stored in directory structures. You use the share menu instead and maybe some pickers for photos and downloads. This could integrate well into their cloud ecosystem. Save app data to OneDrive and have sharing menus work between the two. You could even have tabs in teams that show an Android app and store the data in the team. Corporate IT departments might prefer that to voluminous directory structures and vendor management.
I think they mean non-x86 binaries e.g. ARM, Would still be interesting to see how the translation happens it's not like MS/Intel has silicon level advantage like Rosetta/M1 but for translating other way around.
>I was expecting a full VM / emulator, but this doesn't sound like that.
Even Google did not consider VM/emulator, The went for Android Runtime for Chrome (ARC) and then after learning that it doesn't support all features they switched to containers.
> According to Intel, Bridge itself is a run-time post compiler that translates applications that are compiled for non-x86 platforms (in this case, Android applications) into x86 instructions (which can run on Windows 11 with Intel or AMD CPUs).
Pretty much none, but I expect most devs are developing/testing on x86 Android emulators, since they're developing on x86 systems.
Lot of apps use natively compiled libraries through NDK.
Want to highlight one paragraph from that description: "Intel Bridge Technology is run-time post compiler that can be integrated into Android-in-Container to enable certain Android apps – those not written in Java or compiled to run natively on Intel-based devices - to run on those devices."
How many Android apps out there are not written in Java? I'm guessing Kotlin isn't supported either. For that matter how many apps are targeting Android devices with Intel CPUs anymore?
I was expecting a full VM / emulator, but this doesn't sound like that.