把 Windows 程序搬进安卓手机,这个兼容层是怎么工作的

一句话定位
这是一款安卓应用,装上之后,你的手机里就像多了一台看不见的小电脑——Windows 的 exe 程序可以直接在这台「小电脑」里安装、运行。它由巴西开发者 brunodev85 发起,源代码公开在 GitHub 仓库中,免费使用,不需要 root 权限。
它的工作原理
Windows 程序是为 x86 处理器编写的,而手机用的是 ARM 处理器,两者「语言不通」。这款应用用三层翻译解决这个问题:
| 层次 | 组件 | 干的事 |
|---|---|---|
| 系统调用层 | Wine | 把 Windows 的系统调用翻译成 Linux 能听懂的指令 |
| 指令层 | Box86 / Box64 | 把 x86 / x86_64 的 CPU 指令实时翻译成 ARM 指令 |
| 图形层 | Mesa 驱动 + DXVK 等 | 把 DirectX 的画面请求转到手机的 GPU 上渲染 |
三层叠加之后,Windows 程序以为自己跑在一台真正的电脑上,实际上每一条指令都在手机上被实时转译。这也是为什么同一款游戏在手机上总比电脑慢——转译本身要消耗性能。
和串流、云游戏是一回事吗
不是。串流和云游戏是「画面在别处算,传视频给你看」,断网就没了;这个兼容层是全部在本机算,装好之后离线也能用,画质帧数取决于你手机自己的性能,不取决于网络。
使用前要有心理预期的三件事
- 它是免费的,但不是开箱即用:装好后必须先建「容器」(一个隔离的 Windows 环境)才能跑程序,容器怎么建、参数怎么选,本站用了一整个分组来讲(见容器入门)。
- 性能有折损:指令翻译的开销绕不开,旗舰手机大约能流畅跑中等强度的 3D 游戏,具体边界见能跑什么。
- 兼容性因版本而异:官方更新很勤,几乎每个版本都会修一批游戏的兼容问题,遇到问题先确认版本,再按常见问题排查。
底层致谢名单
开发者自己在首页致谢了几个关键项目:ptitSeb 的 Box86/Box64、Wine 团队、Mesa 的 Turnip/Zink/VirGL 驱动、DXVK、VKD3D、CNC DDraw,以及 Termux Pacman 的 GLIBC 补丁。完整清单见版本脉络与开源底座。