Windows上要运行安卓APP只欠谷歌?

2021-03-08 10:05:48

来源:安兔兔

随着自研M1芯片的正式商用,无疑也使得苹果在生态大一统的道路上迈出了关键性的一步。而反观同样试图实现跨平台融合的微软,在此前移动端操作系统Windows 10 Mobile宣告失败后,其在统一软件生态方面几乎就陷入了停滞状态。

不过从近日曝光的相关信息来看,微软方面并没有放弃进行跨平台融合的动作,能够让Windows原生运行Android应用的Project Latte项目或将于今年内亮相。并且有传言称,为保障原生Android应用的兼容性,微软还计划尽可能用Windows API来取代Google API。

目前,在更新了Windows Insider Preview Build 20185版本后,用户在Windows 10上运行Android应用其实就已经可以在小范围实现了,即部分三星手机可以通过“Your Phone(你的手机)”功能,在PC上操控手机中已经安装的安卓APP。不过有了苹果自研芯片实现在PC桌面端运行iOS/iPadOS应用的例子珠玉在前,这种只能让一部分用户在Windows上浅尝辄止的体验,显然是无法让微软安于现状的。

因此有观点认为,竞争对手已经在生态整合上大幅度领先的局面,或是微软的Project Latte项目得以加速落地的关键所在。但有一点需要指出的是,Project Latte项目显然并不是从石头缝里蹦出来的,这是一个微软从故纸堆里进行的“考古式科研”项目。其实早在2015年,微软就在Build大会上宣布了将会为Windows 10嵌入一个Android子系统,也就是Project Astoria。

根据微软方面当时的说法,开发者可以直接将现有的.apk应用安装包上传至Windows Store,微软会将这一Android应用直接转换为Windows Universal App。同时其还提供了一个在线工具,供开发者上传.apk文件来检测转换之后的兼容性。并且在当年的的Windows 10 Mobile Build 10240中就已经完成了AOW(Android on Windows)功能,而在AOW文件夹中就包含了完整的Android 4.4.4镜像。

但是根据部分开发者的说法,Android on Windows在Windows 10 Mobile上的体验非常糟糕,严重拖累了手机的续航与性能表现。所以最终在Windows 10 Mobile Build 10240正式版上,AOW功能也完全消失,并且在2016年,微软方面也选择了关闭Project Astoria。

当然,微软方面并没有将Project Astoria弃之不顾,在其基础上,在2016年的windows 10内部预览版中还带来了Windows Subsystem for Linux (WSL)服务,用户只需开启这项服务,就能在windows系统上体验原生的Linux bash指令操作。

既然能够在windows系统中运行Linux,那么运行基于Linux的Androi也就成为了顺理成章的事情。但是不同于命令行操作的Linux,作为一个现代操作系统,Android所基于的是GUI(图形用户界面),好在微软在WSL2上新增了一个至关重要的特性,就是可以直接在WSL服务中使用GPU加速,并能调用Directx12 API。所以WSL2支持GPU加速就意味着系统可以调用显卡,并且微软也已经确定显示驱动程序模型 (WDDM) 的3.0版本在Windows 10 Insider Preview 21301中,增加了用户模式驱动程序。

在解决了GPU驱动的问题后,微软方面曾在去年12月宣布,支持的Direct3D 12 Gallium3D驱动已经合并到了Mesa 21.0中。通过这一驱动程序,就将允许像OpenGL与OpenCL这样的图形/计算API,在Direct3D上运行。在有了这些基础之后,Project Latte就能实现类似Android in a box项目类似的效果,并在Windows中运行原生Android应用。

然而Project Latte真的能够改变现状吗?或许这个问题还需要由谷歌来回答。因为抛开目前国内相对特殊的安卓市场,几乎所有海外Android应用要么依赖谷歌GMS,要么就是使用了Google Play Service API。虽然微软在之前的Project Astoria上通过映射,将GMS服务替换为自家的Bing地图API、Windows Phone地理位置API、Windows Store应用内付费 API,但问题是这种做法其实是在事实上分裂Android生态。

GMS事实上是Google Play Store、Search、Maps、YouTube在内的一系列谷歌服务的合集,这些应用服务相互之间更是互联互通相互支持,再加上官方还允许第三方应用调用这些应用中的API,并共同在Android的生态中铸就了一个以谷歌为核心的“小气候”。

所以GMS也是谷歌从蕴含着巨大流量的Android生态中转化收益的关键所在,谷歌又为什么会将这样的武器交给竞争对手呢。至于说微软完全不理会谷歌方面的意见,自己单独做一个“MMS”,其实这也是很难的,因为早有先见之明的谷歌在2012年就已经通过Android应用开发相关的协议,禁止开发者做出任何可能导致该生态分裂的行为。

至于说谷歌向微软授权GMS,显然后者又不会同意了。毕竟如果GMS捆绑在Windows 10系统中,并且大量预装在合作伙伴推出的PC设备中,那么微软自家的相关服务又要如何自处呢?

所有如今从技术条件上讲,让Windows原生运行Android应用其实已经没有没有太大的问题了,但又有多少Android应用能够好用,可能就是另外的一个问题了。

关键词: Windows 安卓APP