开源项目 Husk 2.0 公布:利用自研翻译层让苹果 iPhone 运行 Android 游戏,兼容超 150 款应用
独立开发者 Leviidev 近期发布了 Husk 2.0 这一开源项目,其核心是利用自研翻译层,使部分 Android 应用自带的 64 位原生代码能够直接在 iPhone 处理器上运行。该项目无需越狱 iPhone,支持 iOS 16 及以上系统,目前兼容的应用数量已超过 150 款。
Husk 2.0 的工作原理与传统 Android 模拟器存在显著差异。以 QEMU 为例,传统模拟器通常需要模拟完整的 Android 系统,包括启动系统、加载内核和运行系统服务。而 Husk 通过翻译层绕过这一完整环境,直接将游戏的 DEX 文件及 .so 动态库加载到普通 iOS 应用进程中,并由自身提供游戏所需的 Android 运行环境。
具体来说,Husk 会提供 C 函数库和游戏调用的 Java 接口,并通过 ANGLE 将 OpenGL ES 图形调用转换为适用于苹果平台的图形接口,同时借助 MoltenVK 实现 Vulkan 支持。此外,该项目还处理了音频、触控和手柄输入等功能。由于兼容的原生代码能够在实体 CPU 上直接执行,因此无需承担完整系统模拟带来的额外开销,部分游戏可在数秒内启动。
为实现上述功能,Husk 自行构建了一套 Android 运行环境,包括编译为 iOS 版本的 Android Runtime(ART)、将 Android bionic 函数库接口映射至 iOS 系统层,以及自研的 .so 动态库加载器。通过这些组件,Husk 在 iOS 应用与 Android 软件之间建立了一层兼容环境。
在兼容性方面,Husk 2.0 支持 iOS 16 及以上版本,可导入 APK、XAPK、APKM 和 APKS 格式的安装包,也能处理 Google Play 商店使用的分割安装包。项目支持 Unity、Unreal Engine 4、Godot 3 和 Godot 4 等游戏引擎,同时兼容 cocos2d-x、SDL2 和 SDL3,甚至能够运行经典游戏《GTA:圣安地列斯》。
不过,“免越狱”安装并不意味着安装过程简单。Husk 依赖即时编译(JIT)功能,而 iOS 对 JIT 权限有严格限制,通常需要通过调试器等方式授予。在用户成功启用相应功能后,需要通过侧载方式部署 Husk。目前,Husk 一次只能运行一款应用,用户切换游戏时需要完全关闭并重新启动 Husk,本身具有一定门槛,仅适合爱好者尝鲜体验。用户可通过开云官方登录访问 GitHub 项目地址(https://github.com/Leviidev/Husk)。
想了解更多以理解顺序串联休闲玩法内容,适合碎片化学习。相关内容,尽在开云登录入口。
开云登录入口围绕开云官方登录不断创新,回应用户的真实需求。
5条评论


埃米莉·布朗特
2017年12月4日下午3:12
精选开云登录入口内容,开云登录入口与你一同发现更多精彩。