夜雨聆风学习资料网

ARTICLE · 1129174

iPhone 能跑安卓系统了,不限机型/版本!

iPhone 能跑安卓系统了,不限机型/版本!

“你的 iPhone 还是你的 iPhone,但在它的底层,正运行着另一个完整系统——Android。”

国外一开发者 Bas vT 在 X 上发布了一段视频,并配文称自己已经让 iPhone 运行 Android 系统,并且:

- 支持任意 iPhone  

- 支持任意 iOS 版本

- 拥有完整手机功能  

- 支持完整硬件和图形加速  

最后还用了一句很有传播力的话:One iPhone. Two Ecosystems.(一部 iPhone,两种生态系统)

如果这些描述都能被实机复现,这个人确实牛X!

不过,视频引发关注是一回事,证明“任何 iPhone、任何 iOS、完整功能”又是另一回事。

过去几年里,“iPhone 跑 Android”其实并不是第一次出现。

2020年,Corellium 曾推出 Project Sandcastle,让部分 iPhone 运行 Android。那个项目主要面向 iPhone 7、iPhone 7 Plus 和部分老设备,依赖 checkm8 这类底层漏洞,能够启动 Android,但距离日常使用还有很大差距。

硬件限制为:图形加速、摄像头、音频、蜂窝网络、电池管理等功能并不完整。它更像一个面向开发者和安全研究人员的实验项目,而不是普通人可以拿来当主力机的系统。

还有一种方式,是在 iOS 里运行虚拟机。

借助 UTM 等工具,理论上可以在 iPhone 或 iPad 上启动 Linux,甚至启动某些 Android 环境。不过,软件模拟和硬件虚拟化之间差别很大。没有合适的加速时,系统能启动,不代表能够流畅运行;能显示桌面,也不代表摄像头、电话、蓝牙和 GPU 都能正常工作。

所以,Bas vT 声称这套方案拥有完整硬件能力,听起来还是挺神奇的。

一台手机要运行 Android,至少要解决三件事。

第一是启动。

iPhone 并不像普通电脑那样,开机时可以让用户自由选择 Windows、Linux 或其他系统。苹果有一套完整的安全启动链,从 Boot ROM 到 iBoot,再到内核和系统组件,每一步都要验证签名。普通用户不能随意替换底层系统。

因此,真正的原生 Android 双启动,要么利用某种底层漏洞,要么取得特殊的启动权限,要么在系统启动之后,通过某种宿主机制把 Android 放进去。

第二是驱动。

Android 不是只要把 APK 跑起来就行。屏幕、触控、摄像头、扬声器、麦克风、Wi-Fi、蓝牙、GPS、震动马达、电源管理,这些都需要驱动配合。

苹果使用的是自己的硬件和软件体系。A系列芯片、Apple GPU、图像信号处理器、Secure Enclave、蜂窝基带,都不是按照 Android 手机厂商常见的方式公开给第三方使用的。

尤其是 GPU。

“支持硬件加速”这句话可以有很多种解释。

可能只是界面合成用了硬件,也可能是某个 3D 示例能够运行,还可能是 Android 图形接口经过了一层转换。倒也不一定意味着“Android 能直接调用 iPhone 的 GPU,并且长期稳定运行大型应用”。

第三是手机功能。

如果 Android 只是一个运行在 iOS 里面的虚拟系统,那么它能不能打电话、发短信,取决于有没有一套从 iOS 转发到底层基带的接口。

这和一台真正独立运行 Android 的手机不完全一样。

比如,Android 看到的电话功能,可能实际上由 iOS 处理;摄像头画面可能经过 iOS 中转;定位、蓝牙和通知也可能需要宿主系统代劳。对用户来说,这些功能或许“能用”,但从系统架构上看,并不代表 Android 已经完全接管了这台 iPhone。

此外,不同代际的 iPhone,差异非常大。

早期设备使用不同的 A系列芯片,屏幕和摄像头也在不断变化。后来加入了 Face ID、不同的神经网络单元、不同的 USB 接口,以及完全不同的 GPU 和电源管理方案。即使都是 iPhone,驱动也不可能天然通用。

所以,“Any iPhone / Any iOS”可能有几种含义:

一种是确实覆盖了大量机型和系统版本;

一种是底层方案具有跨版本兼容性,但目前只公开演示了少数设备;

还有一种,是技术上只需要在某些设备上运行,其他设备通过远程、兼容层或不同实现方式提供类似体验。

视频能证明什么?

视频确实有说服力。至少它说明这不是单纯的概念图,也不是把 Android 桌面放在视频里播放那么简单。

一段演示视频通常只能证明视频中展示的那组操作。

但是,它不能自动证明系统是否真的安装在本机;是否可以冷启动和重启; 是否支持电话、短信和移动数据;摄像头、麦克风、蓝牙、GPS 是否完整可用;是否需要越狱、特殊漏洞或开发者环境;...

只让 Android 桌面动起来,和让《原神》、视频解码、相机取景、导航定位同时稳定工作,完全是两个难度。

该帖子下的评论

目前仅根据推文和视频,外界还无法准确判断 Bas vT 采用了哪种架构。

如果是原生双系统,那它需要解决苹果的安全启动链,以及各类硬件驱动问题。这条路线最接近大家理解的“iPhone 真的装了 Android”,但技术难度也最高。

如果是虚拟机,那么 iOS 可能仍然是宿主系统,Android 只是一个来宾系统。这样做的好处是不用完全接管硬件,坏处是电话、摄像头和 GPU 等功能往往需要额外打通。

如果是容器或兼容层,Android 的部分系统服务可能被映射到 iOS 之上。用户看到的是 Android 界面,应用也许可以运行,但它并不一定是大家熟悉的完整 Android 操作系统。

这件事如果最终能够公开复现,意义还是很大的。具体还得等开发者后续公布新的视频或进展。

这能说明苹果封闭的硬件和软件体系并非完全不可触碰。老 iPhone 可能获得新的系统生命。

但它距离“所有 iPhone 都能双系统”还有一段路。

- 每日一句 -

一个人知道自己为什么而活,就可以忍受任何一种生活。—— 尼采

相关学习资料