夜雨聆风学习资料网

ARTICLE · 1246647

安卓跑 iOS,iPhone 跑安卓

安卓跑 iOS,iPhone 跑安卓

2026 年 10 月 18 日,开发者 Makr 在 X 上发了一段两分半的视频:一台红米 Note 12 4G 开机,先滚过一屏内核日志,然后出现苹果标志和 iOS 锁屏。到 10 月 24 日,这条帖子的播放量已经超过 640 万。

这不是换皮主题,也不是模拟器。手机上跑的是苹果开源的 XNU 内核,加上一份未经修改的 iPhone X 系统文件。

几乎同一周,反方向也有进展:开源项目 Husk 让 iPhone 直接执行安卓游戏的原生代码,并在 10 月 17 日发布了 3.0 版。有人把这两件事合称为「大逆向」。

这篇文章梳理这几个项目各自做到了哪一步,哪些说法有一手来源,哪些还只是项目自己的说法。先说结论:它们都是实验,能开机、能点开设置,但离日常使用还很远。

文中信息截至 2026 年 10 月 24 日。这些仓库每天都在更新,读的时候请以仓库当前版本为准。

先弄清两个前提

第一个前提:苹果不开源 iOS,但开源 XNU 内核。

XNU 是 macOS 和 iOS 共用的内核,苹果每年都会公布它的源码。内核之上的 iOS 用户态,也就是 launchd、SpringBoard(桌面)和各个系统应用,是闭源的。但任何人都能从苹果服务器下载固件包(IPSW),里面就有这些文件。

所以这条路线的思路和「黑苹果」一样:自己编译一个内核,让它认得非苹果硬件,再把闭源的用户态原封不动地放上去。关键一步是伪造一份 iPhone 的设备树(device tree,一份硬件描述清单),让 iOS 以为自己运行在一台 iPhone X 上。

第二个前提:为什么偏偏是 iPhone X?

从 iPhone XS 的 A12 芯片开始,iOS 依赖一项叫 PAC(指针认证)的硬件特性,系统二进制也换成了 arm64e 格式。高通骁龙芯片没有 PAC,这些二进制根本跑不起来。iPhone X 和 iPhone 8 用的是 A11,不要求 PAC,而它们能升级到的最后一个版本是 iOS 16.7.16。

这就是所有这些移植都选 iOS 16、都伪装成 iPhone X 的原因。

ios-sweet:这一轮的源头

ios-sweet 由 GitHub 用户 dipa-studio 发布,仓库建于 10 月 14 日,目标机型是红米 Note 10 Pro(代号 sweet,骁龙 732G)。它把 xnu-8796,也就是 iOS 16 这一代的内核,移植到这台手机上,再运行 iPhone X 的 iOS 16.7.16(20H392)用户态。

启动过程分六步。手机原厂引导程序已解锁,用 fastboot boot 临时载入一个「垫片」;垫片准备好内存和伪造的设备树,跳入 XNU;XNU 用项目自己写的 UFS 驱动,从 userdata 分区里的 HFS+ 卷挂载 iOS 根文件系统;之后 launchd 启动系统守护进程,SpringBoard 出现。

内核从内存启动,boot 分区不被改写。但 iOS 根文件系统要写进 userdata 分区,安卓上的用户数据会被全部清空。

README 记录的状态是 10 月 18 日的:能进锁屏、主屏、控制中心、通知中心和设置;触摸屏、电源键、音量键有响应;电池图标固定显示 100%。

骁龙 732G 的 8 个核心里用上了 6 个,而且是 6 个 Cortex-A55 小核,两个 A76 大核暂未使用。没有 GPU 驱动,整个界面由 CPU 绘制,大约每秒 20 到 30 帧。首次开机要在苹果标志上停 4 到 5 分钟。

不能做的事情更多。Wi-Fi、蓝牙、蜂窝网络、音频、相机、传感器、GPS 全部不工作,相关守护进程启动后反复崩溃重启。退出应用的手势没有效果,进了应用就出不来。没有 App Store,没有 Apple ID,部分设置页是空的。

代码签名和沙盒都被放开。README 的原话是「实验性引导,不是可用的手机系统」,并提醒不要往里面放任何个人数据。

还有一个少有人提的细节。仓库里的 NOTES.md 是一份详细的工程日志,其中大量任务是交给 Codex 和 Claude 这类编程 AI 完成的,仓库根目录也放着给 AI 代理读的 AGENTS.md。Android Authority 据此把这批项目称为「AI 辅助编写」。

从一台手机到一串 fork

真正把话题引爆的是移植。到 10 月 24 日,ios-sweet 在 GitHub 上有 1017 个 star 和 544 个 fork,其中一部分已经跑在别的机型上。

ios-topaz 就是那段 640 万播放视频背后的项目。作者是 Makr(GitHub 用户 MakrSas),机型红米 Note 12 4G,骁龙 685。10 月 18 日的视频里只到锁屏,触摸还没确认。之后几天 README 更新很快。

10 月 20 日自述进入主屏,触摸与按键可用,Wi-Fi 能列出网络、连上 WPA2 热点、在 Safari 里打开 HTTPS 网页。10 月 22 日又自述 Adreno 610 GPU 已通过 Mesa 绘制界面,8 个核心全部启用,声音和充电也有了。

这里有一个技术细节。骁龙 685 的 4 个小核不支持 iOS 内核使用的 16 KB 内存页,所以最初只有 4 个 Cortex-A73 大核在跑 iOS。README 的「不工作」清单里至今仍写着「只用 4 个核心」和「无音频」,和开头的新进展互相矛盾。这说明文档在边做边改,读者应以仓库当前版本为准。

LG V60(骁龙 865)的移植叫 ios-v60。10 月 19 日确认进入 iOS 界面,触摸和按键可用,但打开「关于本机」会卡死,Wi-Fi 尚未实现。

Google Pixel 1(骁龙 821)的移植叫 ios-sailfish,走了另一条路:借用 iPhone 8 的系统文件,更适合它的 16:9 屏幕。它自述约 20 秒进锁屏,Adreno 530 GPU 加速已经工作,Wi-Fi 可用,而且只用 2 GB 内存。

Nothing Phone 3a(骁龙 7s Gen 3)目前只有开发者 danascape 在 10 月 19 日发的一段视频,没有公开代码和说明。

这些移植几乎全部是骁龙机型。记录这批项目的站点 hackiosx.dev 给出的判断是:2018 年以后的骁龙「状况良好」,联发科「大概率不行」,三星 Exynos「很难」。该站点还列出 Pixel 6a(Tensor 芯片)能开机、Galaxy S7(Exynos)能到设置向导,但我没有找到这两条对应的仓库或视频,只能视为待证实。

HackiOS:从「只有视频」到 10 月 22 日开源

HackiOS 是另一支队伍 OOSEX GANG 的项目,机型是 POCO X5 Pro 5G(骁龙 778G),跑的是 iOS 16.5。

它的路线和 ios-sweet 不同:先用 fastboot boot 启动一个移植的 UEFI 固件,再由自己写的 EFI 加载器拉起 XNU。整个系统驻留在内存里,重启后手机就回到安卓。

它的第一段演示视频出现在 10 月 16 日。当时团队只有视频没有代码。

Decrypt、Pasquale Pillitteri 等媒体都以「有演示、无代码、无第三方验证」来报道,一些网站还提醒所谓「HackiOS 下载链接」全是假的。

10 月 19 日流出的一段演示颇能说明当时的状态:Safari 从 APKMirror 下载了一个安卓安装包,然后打不开。iOS 本来就不认 APK。

10 月 22 日,情况变了。OOSEX GANG 在 GitHub 发布了 v0.1.0「源码投放」:内核部分以 APSL 2.0 许可开源,用户态部分以 MIT 许可开源。仓库里不含任何苹果文件,脚本会从苹果的 CDN 下载 iOS 16.5 固件到用户自己的电脑上提取。它还提供 QEMU 运行方式,不需要手机也能在 Linux 电脑上跑起来。

README 自述的能力明显多于 ios-sweet。8 个核心全部可用,约 20 秒到锁屏;Adreno 642L GPU 通过 Mesa 的 freedreno 驱动绘制界面。

Wi-Fi 用 Linux 的 ath11k 驱动经兼容层移植,速率 55 到 90 Mbit/s;扬声器、麦克风、前后相机拍照都能用;还装上了 Sileo 包管理器和 SSH。

不能用的仍是蜂窝网络、蓝牙、充电、Apple ID 登录和 App Store,Metal 图形接口仍在进行中。

这些仍然是自述。但有一个旁证:ios-topaz 的 GPU、音频和 Wi-Fi 整合工作就是从 HackiOS 的代码移植过来的,并在 CREDITS.md 中注明。团队自己也说,这是一个「研究台」而不是 ROM,每次运行有时长限制,结束后内核把日志交还给加载器。

反方向:Husk 让 iPhone 跑安卓游戏

和「安卓跑 iOS」相比,开发者 Leviidev 的开源项目 Husk 实用得多:它已经能让 iPhone 运行一批真实的安卓游戏。README 的截图里有《GTA:圣安地列斯》《几何冲刺》《我的世界:地下城》和《沙滩车竞速 2》。

Husk 有两条路线。

翻译层是主力。安卓游戏自带的 64 位原生代码直接在 iPhone 的 A 系列芯片上执行,Husk 负责替代周围的安卓环境:C 库、Java 调用、声音、触控和手柄。图形上,OpenGL ES 经 ANGLE 转换,Vulkan 经 MoltenVK 转换。因为不启动安卓系统,游戏几秒就能打开。

目前支持的引擎有 Unity、虚幻 4(走 Vulkan)、cocos2d-x、Godot 3 和 4、SDL2 和 SDL3,以及《我的世界》用的 GameActivity 和 R 星自家的引擎。

完整模拟是兜底。翻译层跑不了的应用,就在 QEMU 虚拟机里启动一整套 LineageOS。iOS 不向应用开放虚拟化,处理器只能纯软件模拟,所以慢得多。

版本记录能看出节奏。10 月 5 日的 0.6.1 加入 Unity 游戏的 Wi-Fi 支持,以及《几何冲刺》和《我的世界》。10 月 11 日的 2.0 发布说明写着「150 多款游戏和应用可运行」,网上流传的这个数字出处就在这里,属于作者自述。

10 月 17 日的 3.0 称新增 366 款可运行的安卓游戏,并实验性地加入 PS4 游戏支持,作者同时承认《血源诅咒》「能跑但很差」。

门槛也要说清楚。Husk 需要 iOS 16 及以上(3.0 发布说明另提到 iOS 15.5 支持,README 未更新)。它不能上架 App Store:一是它链接了 GPLv2 的 QEMU,二是它需要调试器在运行时附加。安装只能通过 SideStore、AltStore 或 TrollStore 侧载。

两条路线都依赖 JIT(即时编译)。iOS 26 及以上可以用内置的 StikJIT 自行开启;其他情况要配合 StikDebug 应用;iOS 26 之前的系统也可以靠 TrollStore 或 Dopamine 越狱。所以准确的说法是「不强制越狱,但必须侧载并开启 JIT」。

限制还有三条。APK 必须带 arm64-v8a 的 64 位原生代码,只有 32 位库的不能跑;纯 Java、没有原生引擎的应用不能走翻译层;每次启动 Husk 只能运行一个游戏,换游戏要重开。

把日期放在一起看

从 ios-sweet 建仓到 HackiOS 开源只隔了 8 天,Husk 从 0.6.1 到 3.0 只用了 12 天。这个速度本身就说明,现在看到的任何「能做什么」清单,一周后都可能过时。

冷静看待:三个现实

可用性。 「安卓跑 iOS」目前的实际上限,是看看 iOS 的主屏幕、点开几个系统应用,在最快的几个移植上连一下 Wi-Fi。没有 App Store 和 Apple ID,装不了微信,也谈不上玩游戏。HackiOS 每次运行还有时长限制。

风险。 刷入需要解锁 Bootloader;ios-sweet 系列会清空安卓的用户数据;所有项目都关闭了代码签名、沙盒和数据保护。这只适合有备用机、会救砖的开发者和刷机玩家,不要拿主力机试。目前没有任何官方「一键包」,网上的「HackiOS 下载」链接应默认当作假的。

法律与条款。 XNU 是开源的,几个项目也都不分发苹果文件,而是让用户自己从苹果服务器下载固件。但 iOS 软件许可协议规定它只能在苹果品牌的设备上使用,把 iOS 跑在非苹果硬件上至少处于条款的灰色地带。Husk 这一侧则是上不了 App Store。本文不构成法律意见。

结语

这一轮实验的意义不在于马上能用,而在于证明路径可行:一个开源内核、一份伪造的设备树、一台解锁的骁龙手机,再加上足够的耐心,iOS 就能在非苹果硬件上开机。

接下来的难关是驱动:GPU、Wi-Fi、基带、相机,每一项都要从头写。HackiOS 开源之后,这些驱动开始在项目之间流动,ios-topaz 在两天内并入 GPU 工作就是例子。

想跟进,最值得看的是 ios-sweet、ios-topaz 和 HackiOS 的 GitHub 仓库,以及 Husk 的发布页。Husk 已经是今天就能折腾的工具,前提是你愿意侧载并开启 JIT。

演示视频

以下链接均于 2026-10-24 访问,播放量为访问当日 X 显示的数字。

Makr:红米 Note 12 4G 开机进入 iOS 锁屏(10 月 18 日,约 2 分半,播放量超过 640 万)https://x.com/makrotasuss/status/2111922103289045306

Makr:声音与壁纸可用(10 月 21 日)https://x.com/makrotasuss/status/2112834817666466007

danascape:Nothing Phone 3a 开机演示(10 月 19 日)https://x.com/danascape/status/2112135824880124129

HackiOS 10 月 16 日演示片段(Decrypt 引用的转发)https://x.com/geekbb/status/2111049500295102476

HackiOS 演示:Safari 下载 APK 后无法打开(10 月 19 日)https://x.com/0x0SojalSec/status/2111996174723162522

Husk 方面我没有找到作者发布的官方演示视频。YouTube 上有第三方的安装与演示视频,例如 Burhan Rana 的「Husk: Run Android on iOS 27」https://www.youtube.com/watch?v=Dv0J8VJOxCM

项目仓库

dipa-studio/ios-sweethttps://github.com/dipa-studio/ios-sweet

MakrSas/ios-topazhttps://github.com/MakrSas/ios-topaz

ch1tmdgus/ios-v60https://github.com/ch1tmdgus/ios-v60

joranv1/ios-sailfishhttps://github.com/joranv1/ios-sailfish

oosexgang/hackios-xnu-kernelhttps://github.com/oosexgang/hackios-xnu-kernel

Leviidev/Huskhttps://github.com/Leviidev/Husk

参考来源

以下链接均于 2026-10-24 访问。

Decrypt:Hackers Are Running Apple's iOS on Android Phones for the First Timehttps://decrypt.co/381351/hackers-running-apple-ios-android-phones

Android Authority:Forget custom ROMs, you can now run iOS on Android phoneshttps://www.androidauthority.com/ios-on-android-phones-3726001/

SecurityLab:ios-sweet 与 ios-topaz 详情https://www.securitylab.ru/news/578970.php

Kod.ru:Redmi Note 12 运行 iOS 16https://kod.ru/ios-16-redmi-note-12

Tech-ish:Someone put Apple's iOS on a Redmi Note 12https://tech-ish.com/2026/10/20/someone-put-apples-ios-on-a-redmi-note-12/

KuCoin News:Hackers Run iOS on Android Phones for the First Timehttps://www.kucoin.com/news/flash/hackers-run-ios-on-android-phones-for-the-first-time

Pasquale Pillitteri:HackiOS unveils iOS 16.5 on Xiaomi and Poco phones, but there is no codehttps://pasqualepillitteri.it/en/news/25375/hackios-ios-xiaomi-poco-no-code

StereoIndex:Husk runs Android games on iPhone with two distinct methodshttps://www.stereoindex.com/tech/gaming/husk-runs-android-games-on-iphone-with-two-distinct-methods/

hackiosx.dev:How it workshttps://hackiosx.dev/how-it-works

hackiosx.dev:Compatibilityhttps://hackiosx.dev/compatibility

HackiOS v0.1.0 发布页https://github.com/oosexgang/hackios-xnu-kernel/releases/tag/v0.1.0

Husk 发布记录https://github.com/Leviidev/Husk/releases

Apple 软件许可协议(iOS)https://www.apple.com/legal/sla/

相关学习资料