苹果Mac系统终于能双击运行安卓APK了:不开模拟器,也不装虚拟机
导读:一个 3565 星的 AGPL 开源项目,把安卓 App 直接变成 Mac 程序——双击 APK 就装,装完出现在 Dock 里,走 Metal 显卡。这篇把原理、能跑什么、几个必须先知道的坑,一次说清。
开源项目Mac.apk
它的目标很简单:
Mac.apk 可以让安卓应用直接在 Apple Silicon Mac 上以全速原生运行。
它不是模拟器、不是虚拟机,底层没有 Linux、不需要 Docker、Rosetta 或者 Wine。
安卓应用和普通 Mac 软件一样启动,直接使用 Mac 的图形栈渲染,CPU 满速原生执行。 最终效果:安卓应用的体验、性能都如同原生 Mac App。
Intel Mac 不支持。
![]()
Mac.apk不是模拟器
一个 APK 里其实就三样东西:Java/Kotlin 代码、C/C++ 写的原生库、还有图片音频这些资源。Mac.apk 对三样分别下手。
代码部分,它翻译而不解释。安卓的代码是 DEX 字节码,Mac.apk 第一次运行时把它转成标准 Java 字节码存下来,之后直接跑——跑在一个从 OpenJDK 编译出来的 JRE 上。转换器还单独开源了,叫dex2jvm。
原生库部分,64 位的基本白捡。M 芯片本身就是 64 位 ARM,游戏里那些.so拿过来原样执行,一个指令都不用翻。碰上老的 32 位 ARM 库,Apple Silicon 根本跑不了,它就提前整体重编译一遍再跑,结果也缓存着。
图形部分最见功夫。安卓用 OpenGL ES 和 Vulkan 画图,Mac 只认 Metal。中间垫了 ANGLE 和 MoltenVK 两层,最后全都落到 Metal 上——所以是显卡真在画,不是软件硬凑。
安卓系统那层,是自己重写的。Activity、View、布局、资源、通知、存储,这些它照着 AOSP 的行为重新实现了一遍;该找硬件的地方就转去问 macOS:窗口是 Mac 的窗口,剪贴板是 Mac 的剪贴板,定位来自系统定位服务,声音走 macOS,手柄走 macOS 的手柄框架。
这里有个容易误会的地方:它压根没跑 Linux 内核。原生库要的 C 库和系统库,Mac.apk 用 macOS 自己的库垫了一层。所以不是"在 Mac 上偷偷开了个 Linux",是真的什么都没有。
还有个细节能说明作者是懂行的——安装包装好之后是苹果签名并公证过的,双击能正常打开,不用你去系统设置里点"仍要打开"。做 macOS 分发的都知道这一步有多麻烦。
安装Mac.apk
门槛先摆出来,不符合就别折腾了:
•仅支持 Apple Silicon(M1/M2/M3/M4/M5)Mac,Intel Mac 完全不支持
•系统最低 macOS 26.4(Tahoe),旧 macOS 不行
项目
要求
系统
macOS 26.4(Tahoe)或更高
,macOS 27 从 v1.0.1702 起支持
芯片
任意 Apple Silicon,Intel Mac 完全不支持
空间
本体约 280 MB,每个 App 额外占 APK 体积的 1.5~3 倍
![]()
装的过程本身不复杂:
1. 从 Releases 下磁盘映像,把 Mac.apk 拖进"应用程序"
2. 打开它,点左上角Runtime旁边的 Install
3. 进设置 → File types →Make Default,同意系统弹窗
4. 之后双击任意
.apk就行,或者直接拖进窗口
格式支持得挺全:.apk、.apkm、.xapk、.apks、.apkx都认。
但第一次启动会很难受。大型 App 第一把可能黑屏等将近一分钟,因为它在给这个 App 做 DEX 转换。转过一次就好了,后面都是秒开。我一开始也以为卡死了,差点强制退出。
还有个存储位置的事得记住:App 的数据存在~/Library/Application Support/MacApk/
<包名>里,不在那个.app里面。所以你直接把图标拖进废纸篓,存档还在硬盘上躺着,白占地方。要清干净得回 Mac.apk 窗口点 Uninstall——顺便,它重装时能帮你把存档留住。
71 个 App 实测,58 个能用
README 里挂了一份手工测试的兼容性清单,10 月 20 号更新过。
71 个 App,58 个正常,10 个半残,3 个完全不行。
跑得挺像样的:
•Minecraft1.26.52.3 —— 能启动能渲染,Xbox 账号能登,还连上了多人服务器
•Subway Surfers、Temple Run 2、Crossy Road、Fruit Ninja、Candy Crush、Among Us—— 都是开着就玩,音效正常
•Asphalt Legends—— 走 Vulkan 跑起来的,重力感应转向能识别
•Rocket League Sideswipe—— 接手柄、Epic 登录、在线对战都通,还能从 Epic 商店里直接装
•Telegram、Signal—— 通讯类里状态最好的两个
•F-Droid、Aurora Store—— 应用商店能浏览能装能更新,装和删会要 Touch ID
•RetroArch、Lemuroid—— 模拟器套模拟器,GBA 的《超级马力欧 Advance 2》实测能跑
还有个我没想到的:Epic Games Store 的安卓版能跑,登进去还真把 Rocket League 装上了。安装器套娃这种事,一般是兼容层最先崩的地方。
半残的:
•Duolingo—— 界面能开,但注册和登录都不行,等于没法用
•Instagram—— 排版乱,视频卡且没声音
•Reddit—— 谷歌登录不通,滚动很怪
•Mastodon—— 只显示一条嘟文
•AnkiDroid—— 能跑,部分页面有画面错乱
•NewPipe—— 有些视频只剩声音,一直在缓冲
完全不行的是Efteling(卡在欢迎页)、Jetpack 2(加载到 59% 死住)、Gallery(权限没处理对)。
规律很明显:单机游戏和工具类最稳,需要谷歌账号体系、依赖复杂网页登录的社交 App 最容易翻车。
使用须知(请仔细阅读)
Mac.apk 直接将未修改的安卓 APK 以原生代码形式在 Mac 上运行。安装并使用本软件,即代表你同意以下条款:
• 你需要自行对所安装的安卓应用负责
• Voltare 无法审核、担保任何第三方 APK,不对非本项目开发的代码行为做任何保证
• Mac.apk 按现状提供,不附带任何明示或暗示的担保
• 对于使用本工具引发的损坏、数据丢失、恶意程序、安全事件、版权纠纷等一切后果,Voltare 不承担责任
• 部分 APK 会异常闪退、触发未知系统行为,这是跨平台运行软件的固有风险
• 你只能安装拥有合法使用权的 APK
• 在 Mac.apk 中运行的安卓应用,是以你的 macOS 用户权限直接运行原生代码,没有安卓手机那种独立沙盒隔离。请只安装来自可信来源、你信任的 APK。
如果你不同意以上内容,请勿安装 Mac.apk。
Mac.apk和模拟器、PlayCover 怎么选
Android Studio 模拟器 / MuMu / BlueStacks:你要的是"完整安卓"。要 root、要 xposed、要连 adb 调东西、要模拟特定机型——老老实实上模拟器,Mac.apk 不是干这个的,Google Play 服务那层它只是实现了"大多数 App 用到的那部分"。
Mac.apk:你要的是"把这几个安卓 App 当 Mac 软件用"。开一次、用一下、关掉,不关心底下是不是安卓。这种场景它赢得很干脆——没有整机启动开销,没有虚拟机的内存税。
![]()
PlayCover:常被拿来比,但它俩方向相反。PlayCover 是让iOS 应用(.ipa)跑在 Apple Silicon 上,Mac.apk 干的是安卓(.apk)那一侧。你手机是 iPhone,用 PlayCover;你平板是安卓、或者离不开某个只有安卓版的 App,看这个。
顺便,它开源是 AGPL-3.0,公司要商用可以买商业授权。个人用官方版本免费。
最后
这项目现在 3565 星、129 个 fork、63 个待处理 issue,从 5 月建仓到现在五个月。
它不是成熟产品,是一个每天都在变的实验。
但方向是对的。Mac 上一直缺这一块:iOS 侧有 PlayCover 补上了,安卓侧空了很久,以前只能靠拖一整个虚拟机进来解决。现在有人愿意照着 Wine 那套笨办法,一层一层把安卓的运行时在 macOS 上重新实现一遍——这事本身就挺硬的。
想试的话,直接从 GitHub 下最新版,先拿一个单机小游戏开刀,别一上来就装网银和社交。第一次黑屏等一分钟是正常的,别急着强退。
评论区聊聊:你 Mac 上最想跑起来的是哪个安卓 App?我先说我的——一个只有安卓版的智能家居客户端,还有那个永远不出 Mac 版的银行 App。
• 项目主页(GitHub):
https://github.com/kksimp/Mac.apk• 下载(Releases,含历史版本):
https://github.com/kksimp/Mac.apk/releases• 兼容性清单:
https://github.com/kksimp/Mac.apk/blob/main/COMPATIBILITY.md• 原理说明(wiki):
https://github.com/kksimp/Mac.apk/wiki/How-Mac.apk-Works
特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.