夜雨聆风学习资料网

ARTICLE · 1215090

Mac跑起了安卓应用,手机的权限隔离却没跟来

Mac跑起了安卓应用,手机的权限隔离却没跟来

把《地铁跑酷》安卓版装进Mac,它就出现在程序坞里,有自己的窗口,不用先启动一台虚拟手机。

独立开发者Kaleb做的Mac.apk,正在尝试这件事。10月19日,他宣布项目全部开源。安装后,安卓应用会像普通Mac程序一样运行;手机上的应用隔离规则,却不能照搬。

 摄影:Minh Pham / Unsplash

搬来的不是一整部手机

Mac.apk没有在后台启动安卓系统。它在macOS上重新实现应用需要的安卓环境:窗口、声音、剪贴板这些请求,交给Mac来处理。

两边都用ARM处理器,让部分工作省了下来:应用里的64位ARM原生代码,可以直接在苹果芯片上执行。其他代码仍要处理:Java、Kotlin编写的部分要先转换,32位ARM代码也得重新编译。

首次启动要花时间准备代码,之后会复用转换结果。

 图片来源:Mac.apk项目仓库

跑起来,不等于全都能用

截至10月19日,项目自测65款应用,51款标为可用。名单里有《地铁跑酷》和《神庙逃亡2》,但“可用”也不等于每个功能都正常。

多邻国被标为部分可用,备注是无法注册或登录;部分应用仍有画面、声音问题。依赖特定设备认证、强反作弊的游戏,也不能指望直接运行。

它仍是早期测试版,只支持苹果芯片Mac,系统至少要到macOS 26.4。能否使用,还得看具体应用和版本。

 图片来源:Mac.apk项目仓库

文件夹也换了地方

安装完成后,应用会接触哪些文件?

项目文档写得很直白:运行中的安卓应用,是使用你这个Mac账户权限的普通程序,没有手机上把应用彼此隔开的沙盒。

应用看到的Pictures、Downloads等文件夹,对应的是Mac里的真实目录。Mac.apk给Java代码套了安卓权限规则,但应用包含的原生代码,可能不经安卓那层询问就读取共享文件夹。

当然,这不代表macOS的保护全部失效。文稿、下载、桌面和照片图库,仍受Mac自己的权限提示保护。缺少的是安卓应用之间原本那层隔离。

把APK装上Mac之前,得像挑电脑软件一样核实它的来路。那个熟悉的游戏图标,旁边可能就是你的工作文档。

相关学习资料