微软的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。