还在羡慕iOS应用多吗?Cider项目让Android也能运行iOS应用

来源:互联网 发布:资产评估收费的算法 编辑:程序博客网 时间:2024/05/04 05:40



北京时间5月14日消息,据国外媒体TNW报道,哥伦比亚大学计算机系的六个博士生近日开发了一个项目:Cider,这是一个能在Android上兼容运行iOS应用程序的架构。

这样的壮举,并没有使用一个严格的虚拟机,而是在同一个设备上运行domestic和foreign二进制文件才得以实现,他们利用诸如编译时代码阶段适应和外交功能的二进制兼容性技术。这也意味着Cider需要说服运行于苹果XNU内核上的应用代码,让它可以复制库和框架。

与此同时,他们也发布了一个概念性验证视频,展示了他们在Nexus 7上运行iOS应用的工作成果(视频:点此进入)。


虽然表现不尽如意,但考虑到额外的外部函数调用和当前并不完整的OpenGL ES实现,这也就不值得奇怪了。而更为重要的是,使用OS兼容层能够让iOS应用程序在Android上原生执行,这本身就是一个令人印象深刻的举动。

另外在报道中也特别提到一段:即使在操作系统的抽象层,Android应用仍然能够在该设备上运行。该研究团队称,他们的方法并没有在两操作系统之间的兼容性上,遇到任何根本性限制问题。

话虽这么说,但这仍是一个原型,在一些应用表现上肯定会不完美。Cider研究小组指出,智能手机和平板电脑有很多功能,应用程序希望能够使用GPS、相机、手机收音机、蓝牙等等,但Cider暂时不支持这些,因此能够运行的iOS程序也不能使用到这些功能,除非他们提供一个回滚代码路径。

好消息是,目前Cider团队将继续这个研究,这些不完美或许在某一天能够得到解决。

巧合?八年前在Windows和Mac OS平台间也有个Cider项目

不知道是巧合还是另有什么玄机,在八年前也有个跨系统运行游戏的项目:Cider,这是由软件开发商TransGaming开发的项目,据称可以让游戏开发人员为微软Windows设计的游戏轻松移植到苹果Mac OS X平台上。

TransGaming的“Cider”是一个小巧的引擎,可以让Windows游戏在无需修改源代码的情况下直接运行在Intel-Mac上,其工作方式是直接将Windows程序载入到Intel-Mac的内存中,并将其与一个经过专门优化的Win32 API相连。TransGaming称,经过Cider引擎的简单“包装”,游戏就可以运行在Mac上。

不过这个项目后来好像不了了之,因为直到今天为止,好像没有多少游戏移植到Mac OS平台。

0 0