Mac.apk 是一个开源项目,旨在通过将应用程序直接作为原生进程运行,来弥合 Android 移动软件与 macOS 硬件之间的鸿沟。与依赖沉重虚拟化的传统解决方案不同——即在后台启动完整的 Linux 操作系统来托管应用程序——Mac.apk 直接在 macOS 之上实现 Android 应用程序环境。这种方法允许 Android 应用作为标准的 macOS 窗口出现在 Dock 中,支持窗口缩放、旋转以及在浅色和深色模式之间切换等功能,同时以原生 CPU 速度运行。

该图表解释了项目的底层架构,展示了它如何弥合 Android 二进制文件与 macOS 环境之间的鸿沟。
底层架构通过为 macOS 环境重新实现 Android 框架的关键组件来实现这一目标。该项目包含几个关键层:原生运行时、arm64 加载器、Bionic shim(Android 中使用的轻量级 C 库)以及 ARM32 重编译器。由于它针对 Apple Silicon,该软件利用芯片的性能直接执行指令;然而,由于许多现有的 Android 二进制文件仍为 32 位,因此包含重编译器可确保与旧版应用的更广泛兼容性。此外,该项目集成了 ANGLE 和 MoltenVK 等图形库,以确保 Android 应用能够有效地通过 Mac 的 GPU 进行绘制。

此视觉效果支持项目的实际应用,展示了用户如何与软件交互来运行应用程序。
尽管具有技术上的能力,用户在生态系统集成方面仍面临实际限制。由于 Mac.apk 不包含 Google Play Services 且不提供手机风格的沙箱,某些应用程序——特别是那些高度依赖 Google 专有后端的应用——可能运行效果不佳甚至无法运行。此外,安全性仍是首要考虑因素:与移动设备中应用程序通常与系统文件隔离的沙箱机制不同,通过 Mac.apk 运行的任何应用程序都拥有与标准 macOS 应用程序相同的权限。这意味着 APK 具有像任何其他桌面程序一样读取和写入用户文件系统的能力,因此要求用户仅安装受信任的来源。