微软的Windows11公告令我们惊讶的是,即将推出的操作系统将在 Windows 应用程序旁边运行 Android 应用程序。不幸的是,主题演讲在细节上很简单。这些应用程序会使用仿真吗?是否会涉及 Windows 现有的 Linux 支持?我们在主题演讲后不久就得到了答案,这要归功于后续的开发人员谈话,其中详细介绍了一些细节。
该功能正式称为“适用于 Android的 Windows 子系统”,它应该会告诉您很多有关其工作原理的信息。Windows 目前有一个“适用于Linux 的 Windows 子系统”(WSL),它使用 Hyper-V 功能的一个子集在真正的 Linux 内核上运行 Linux 应用程序以及 Windows 应用程序。(Hyper-V 允许第二个客户操作系统访问裸机硬件,而不是运行在主机操作系统之上,对资源的访问较少。)真正的 Android 手机使用 Linux 内核,微软正在 WSL 之上构建一个 Android 框架,用于适用于 Android 的 Windows 子系统。听起来我们基本上是在 Hyper-V 上运行 x86 Android。
进一步阅读
Windows11不仅仅是一个贴在 Windows 10 上的新主题
Windows 下的 Android 应用程序应该感觉就像原生 Windows 应用程序一样,具有顶级窗口、任务栏条目以及固定到开始菜单的能力。微软在其演示中表示,“在幕后,我们实际上创建了一个代理原生应用程序来处理 Android 应用程序模型和 Windows 应用程序模型之间的桥梁。” 据推测,这意味着系统将提供诸如开始菜单快捷方式、图标、应用程序卸载列表中的条目以及其他使应用程序感觉原生的较小 Windows 包装等内容。
Microsoft 正在尝试通过尽可能少的模拟来实现这一点——甚至可能没有模拟,这取决于您的计算机和应用程序的可用性。Windows 和 Android 都运行在 x86 和Arm 架构上,Android 支持 Arm,Windows 支持 x86。如果您在Arm 上运行 Windows 并希望运行 Arm
Android 应用程序,那么一切都会很好。如果您使用的是 x86 Windows,Microsoft 将尝试为您提供您想要的 x86 版本的 Android 应用程序。但是,如果唯一可用的是 Arm 应用程序,“英特尔桥接技术”可以帮助将 Arm 代码转换为 x86 CPU 可以运行的代码。微软很有帮助地指出,此功能也适用于 AMD CPU。