在Win11的发布会上,微软声称Win11兼容Android应用,但当时并没有关于兼容性的详细信息,而且目前Win11的预览版并不支持Android应用,所以很多人对Win11兼容Android还是很困惑的。
不过在随后的开发者对话中,官方透露了一些细节。
兼容Android应用的功能有一个正式的名字叫做“Windows Android子系统”(WSA)。看到这个名字后,你应该大致明白这个功能是怎么实现的了。
Windows 10有一套“Windows Linux子系统”(WSL)。借助Hyper-V虚拟机,Linux应用可以运行在真正的Linux内核上,实现兼容。(许多虚拟机运行在主机操作系统上。
只能访问有限的资源,但Hyper-V虚拟机不同,它允许来宾操作系统直接访问裸机硬件。)普通安卓手机用的是Linux内核,微软在WSL上搭建了WSA的安卓框架。简单来说,
是在Hyper-V虚拟机上运行x86架构的Android。
在这种情况下,Windows下的Android应用应该有一个像原生Windows应用一样的顶层窗口,可以通过点击任务栏图标打开,也可以固定在开始菜单。在演示的时候,微软的工作人员说,“这个功能背后,
我们有一个代理本地应用程序,它弥合了Android应用程序模型和Windows应用程序模型之间的差距。
这意味着Windows S11可以为Android应用提供开始菜单快捷方式、桌面图标、应用卸载列表条目等小外壳,可以让后者看起来更“Windows”。(Windows外壳安卓锤子)
根据用户计算机和应用程序的可用性,微软将在新系统中尽可能少或不使用模拟。Windows和Android都运行在x86和Arm架构上,Arm更适合Android,x86更适合Windows。
如果你的Windows运行的是Arm架构,你想打开一个Arm架构的Android应用,整个操作过程会很流畅。如果您的Windows运行在x86架构上,并且您想要打开Android应用程序,
微软会给你这个程序的x86版本。如果没有x86版本可用,借助“英特尔桥技术”,可以将Arm代码转换成x86 CPU可执行的代码。虽然名字里有Intel,但是AMD CPU的电脑也可以用这个功能。
(AMD is! )
微软的兼容性方法类似于其他兼容Android应用程序的操作系统。以Chrome OS为例。Chrome OS本身有一个Linux内核,开发者在上面堆叠了一个容器化的Android框架。
来运行安卓应用。在x86架构的Chromebook中,Chrome OS使用了Android内置的Arm到x86的转换。对于Linux桌面操作系统,
Anbox也是为了同样的目的而安装的。——在Linux上加载Android框架。今天,你甚至可以在WSL上运行Anbox。
说起x86架构的Android,人们的记忆还停留在英特尔2012年推出的搭载Atom芯片的x86手机上。当时使用这款芯片的华硕Zenfone被直接归类为工业垃圾。在那之后,
X86架构的Android进步很大。2016年Android Chrome OS的推出,可以算是X86架构Android发展的一个里程碑。2016年之前,谷歌一直在推Arm架构应用支持x86架构。
Google开发工具也默认输出Arm和x86文件。2016年,谷歌估计Play Store中约有25%的应用不支持x86架构,需要从Arm程序转换而来。在Chrome OS流行的今天,
x86架构的客户群更大,需要转换的应用程序占比应该低了不少。
亚马逊、Sideloading和非Google Play生态系统
不过,微软并未在Windows上用Google Play生态系统。也没有尝试建立自己的安卓生态系统,而是与亚马逊合作,使用Fire OS设备使用的亚马逊应用商店。
亚马逊发布了一份新闻稿,但是只说了稍后将发布更多细节,本身没有多少实质性内容。
我们还没有亲眼看过在Windows11上安装安卓应用程序的完整过程,因此尚不清楚其中具体的运行模式。微软发布了几张截图,图片显示微软应用商店在推广亚马逊应用商店中的安卓应用程序。
看起来亚马逊商店的应用程序评论、屏幕截图和说明会列在微软应用商店中,但微软应用商店似乎并不能真正安装安卓应用程序。关键就在这个“安装”按钮上。如果是Windows应用程序,
按钮上显示的是“获取(Get)”,表明点了就会安装应用程序。但是如果是安卓应用程序,
按钮上的内容完全不同——“从亚马逊应用商店获取应用程序(Get from Amazon App Store)”,还带有一个小框和一个箭头组成的小图标,表明点了会链接到一个外部的应用程序。
《华尔街日报》 给出了更详细的信息。亚马逊将为Windows做一个亚马逊应用商店客户端。你需要使用亚马逊帐户登录才能下载应用程序。微软应用商店只提供统一的应用程序搜索,不提供更多功能。
这就意味着你的电脑上会有两个应用商店保持后台运行,有两个地方可以用来检查更新。这一点都不够“小而美”。
微软工程师Miguel de Icaza证实,如果你不想用亚马逊应用商店,Windows 11也支持Sideloading。你可以选择F-Droid等开源商店,也可以选择安装APKMirror。
过一段时间,可能就会有大佬让Windows11正常运行谷歌应用商店了。
由于谷歌多年的默认设置和对额外架构支持的推动,谷歌应用商店中的X86应用程序很多。那么,亚马逊应用商店中的X86应用程序多不多呢?您可以在任何安卓设备上Sideloading亚马逊应用商店,
但是专门使用此商店的Echo和Fire设备都是Arm架构。许多应用程序是通用的并且可以在所有架构上运行,所以。也许亚马逊应用商店中的X86应用程序也有不少。
如果微软推出一款Surface Duo,与谷歌合作在Windows11中运行正常的Play Store,那不就像王冰冰说她喜欢我一样爽?如果不从Play Store中下载安卓应用程序,
就无法使用Google Play Services API,也就无法获取推送通知等内容。多年来,亚马逊一直在为Fire OS构建自己的替代API和云服务,如果你无法使用Google Play,
那亚马逊就是你的不二之选。
这就是我们目前了解的关系Windows11兼容安卓的全部内容。但是请放心,代码放出来后,我们将会进行更深入的研究。