2021 年,微软隆重推出了 Windows 11 桌面操作系统。与前代版本相比,Windows 11 不仅界面焕然一新,还融入了一大变革:支持 Android 子系统,由此将庞大的移动端生态纳入其中。微软对符合 Windows 11 升级要求的设备硬件设限,令绝大多数能够支持 Windows 10 的设备无法升级,也无法体验到 Windows 11 带来的众多新功能。

一年时间的迭代之后,即便处于生命末期的 Windows 10,在几次年度功能更新后,也接纳了部分 Windows 11 独有特性,例如通过 WSLg 可让 Windows 10 运行图形化 Linux 应用程序。与 Windows 11 独占的 WSA 相似,Windows 10 上运行 Android 应用程序也成为可能。

与直接在 Windows 10 上使用虚拟机或模拟器运行 Android 应用程序相比,通过 WSA 运行 Android 应用程序效率更高:它依托 Windows 自身的虚拟化引擎,无需预先启动虚拟机,从而大幅降低资源占用;对 Android 应用程序的系统架构无限制;更重要的是,它可完全窗口化运行,与现有的 Windows 生态无缝融合。目前已有两种方法可在 Windows 10 上运行 WSA,适用不同的系统场景。如果你有在 Windows 10 上运行 Android 应用程序的需求,不妨根据需要选择对应的方法。

  • 优点:基于 WSA 原生打造,兼容性最佳。
  • 缺点:仅支持 Windows 10 22H2 最新版本,对系统版本要求较高

WSAPatch 顾名思义,就是让 Windows 10 也能运行 WSA 的补丁。该项目提供了两个补丁文件,可让 Windows 10 安装 WSA。

需要将 Windows 10 更新至最新版本(Windows 10 22H2),最低版本号为 Windows 10 10.0.19045.2311。可以通过在终端或 PowerShell 中输入 winver 命令来查看 Windows 版本。

Windows 10 版本至少为专业版。原因在于,后续需要安装 Hyper-V 虚拟化平台,而 Hyper-V 也是 WSL 和 WSA 的基础环境。如果 Windows 10 为家庭版,则无法通过此方法运行 WSA。

完成上述准备工作后,首先依然需要在 BIOS 中启用虚拟化支持,并打开 Windows 10 中的相应功能:

依次打开「控制面板」-「程序和功能」-「启用或关闭 Windows 功能」,找到并启用 Hyper-V、「虚拟机平台」、「Windows 虚拟机监控程序平台」和「适用于 Linux 的 Windows 子系统」。勾选后重新启动设备,完成基本准备工作。

接着,需要在 Windows 10 中开启相关开发者权限:依次打开「设置」-「更新和安全」中,「开发者选项」中打开「开发人员模式」,同时在 Powershell 项目中勾选「更改执行策略,以允许本地 PowerShell 脚本在未签名的情况下运行。远程脚本需要签名」并点击「应用」。

然后,需要下载 WSA。为方便后续使用,可以自行定制 WSA,例如通过 MagiskOnWSA 项目将 Google 服务和 Magisk 植入 WSA。生成对应的安装包有两种方式:第一种是无需依赖 GitHub Actions 服务的 MagiskOnWSALocal,它需要在本地安装 WSL 并安装 Ubuntu 来运行。具体步骤可参考:

  • 一日一技 | WSA 定制安装,找回你需要的 Google 服务和 Magisk

另一种方法相对更轻松,可依赖 GitHub Actions 服务的 Magisk on WSA 的 fork 项目,将该项目 fork 至自己的 Github 账户,在 fork 项目中点击 Action,再点击 Build WSA — Run workflow,在配置菜单中选择所需版本:Build arch 选择 X64,WSA release Type 选择 insider slow,Magisk version 选择 stable

如需集成 Google 服务,在 Variants of Gapps 中请选择 pico;如需 root,在 Root solution 中选择 magisk,其他默认选项,点击Run workflow,等待片刻,在 Artifacts 中下载生成的 WSA 包。
接下来解压缩生成的 WSA 包。接着下载需要的两个 dll 文件,可以从 WSAPatch 项目的 Releases 中直接下载,解压后,将它们拷贝到解压后的 WSA 目录中的 WsaClient 文件夹。
然后,使用代码编辑器修改 WSA 目录下的 AppxManifest.xml 文件。用编辑器搜索 AppxManifest.xml 中的TargetDeviceFamily 关键字,找到以下代码:
修改其中的 MinVersion10.0.22000.12010.0.19045.2311
再次搜索 customInstall,注释掉以下两段内容:
以及:
注释后保存文件。随后,以管理员权限打开 Powershell,定位到 WSA 目录,执行脚本 .\Install.ps1 来安装 WSA。
如果一切顺利,WSA 和 Magisk 将陆续启动。你可以通过 ADB 命令安装应用,或通过商店安装,如同在 Windows 11 上使用 WSA 一样。且可以以多窗口形式运行多个 Android 应用,比虚拟机或模拟器更方便,最重要的是,此方法也支持显卡加速,在运行对图形要求较高的应用时更稳定。如果你的设备较旧,部分应用可能仍会出现显示不全等问题。
将 Windows 11 的 WSA 移植到 Windows 10 的方法对于普通用户来说可能有些复杂,因为它需要生成 MagiskOnWSA,还要修改相关配置参数。那么,有没有更简单的办法实现类似的功能呢?
兆懿移动应用运行平台就是这样一个「类 WSA」的实现方案。与在 WSA 上打补丁并在 Windows 10 上运行 Android 应用不同,兆懿移动应用运行平台对系统要求更低(不需要最新版本的 Windows 10),且与不支持 WSL2 的系统也有很好的兼容性,因此更适合运行较老硬件的 Windows 10 设备。

  • 优点:系统版本要求低
  • 缺点:Android 运行时版本相对较低(Android 7 和 Android 9),应用运行速度较慢。

与通过 WSAPatch 安装类似,使用兆懿移动应用运行平台运行 Android 应用前,同样需要在「控制面板」-「程序和功能」,找到「启用或关闭 Windows 功能」,开启 Hyper-V 启动虚拟化平台。

重启后在兆懿移动应用运行平台下载最新 兆懿 2.0 Beta 1 安装包,双击安装即可,安装过程中安装程序会进行环境配置等操作,只需要等待完成。

安装完成后双击打开桌面上的「兆懿应用商城」,点击左上方的设置页面进行环境设置,类似于 WSA 的设置页面,可以设置 Android 是否常驻后台、性能增强模式、处理器核心数、内存分配、安装的 Android 应用是否生成桌面快捷方式等。

同样可以设置模拟机型、快捷键,并在高级设置中调整 DPI、启用 ADB 日志打印等。

设置完毕后,可通过兆懿应用商城安装 Android 应用,下载安装应用时会加载运行库,默认采用 Android 7.0 运行库,较新应用可在「我的应用」右上角切换至 Android 9.0 运行库。

兆懿应用平台支持窗口化运行多个 Android 应用,但窗口 UI 经过重新设计。同时支持直接使用 Windows 输入法在 Android 进行文本输入,但由于显卡硬件加速支持不完善,在兆懿上运行 Android 应用可能比 WSA 卡顿,应用运行帧数较低。

除应用商店下载外,兆懿也支持本地安装 APK 软件包,灵活度高于 WSA(WSA 需借助 ADB 或辅助工具)。但由于平台限制,无法安装 Google 服务框架或 Magisk 模块。如果你仅需在 Windows 10 运行 Android 应用,兆懿的「类WSA」方案值得尝试。

经过近一年尝试,我们终于可以在 Windows 10 通过 WSA 运行 Android 应用。如果你有这方面需求,不妨试试以上两种方法,在 Windows 上体验 Android 应用。