I-Phone虚拟机适用于安卓系统。

3

我正在考虑开展一个项目,为Android 2.0(即Motorola Droid)创建一款iPhone虚拟机,在此之前,我有一些问题:

  1. 是否已经存在我错过的iPhone虚拟机?

  2. Droid的Arm Cortex A8处理器时钟频率为550MHz(感谢维基百科),能否处理iPhone抽象层?

  3. 从性能方面考虑,最好使用C++编写应用程序,但出于系统健康考虑,将iPhone虚拟机置于Dalvik虚拟机之上是否更好?哪种方法更好,为什么?

2个回答

11

有没有我错过的已经存在的东西?

没有。

Droid的Arm Cortex A8可以降频到550MHz(感谢维基百科),能处理iPhone吗?

不行,但是CPU并不是严格的问题。

从性能上讲,最好的方法是用C ++编写应用程序,但为了系统的健康,将iphone vm放在dalvik vm之上是否更好?哪种方法更好,为什么?

你可以构建一个在Android上通过Android NDK运行的Objective-C实现,但NDK库的系统访问受限,这意味着你不能在Objective-C中做很多事情。

你可以将Objective-C实现作为独立应用程序运行在rooted硬件上,因此可以访问更多的系统资源,但这样你几乎就不再运行Android了。

创建一个Objective-C实现,在Dalvik VM上运行,并具有类似于iPhone上本地Objective-C实现的性能是不可想象的。

请注意,我甚至没有讨论实现Cocoa库等内容,因为我不知道如何在合理的时间内避免侵犯版权而不会被起诉(参见:苹果公司诉Pystar案)。唯一避免这种情况的方法是进行完全的清洁室实现,而WINE的人会指出,他们已经尝试为Windows做了大约17年,但并未完全成功。
如果你的目标是编写一次应用程序,可以在Android和iPhone上运行,请考虑PhoneGapAppcelerator Titanium Mobile和类似的工具包。

我想我表达不够清楚。我的目标不是为I-Phone和Android编写应用程序,而是希望能够在Android系统上运行I-Phone应用程序,而无需访问源代码。就CPU而言,我意识到这不是唯一的问题,但我认为它是限制因素。谢谢您的回答,我不习惯为嵌入式设备编写代码,因此显得有些无知。除了Cocoa库之外,将O-C字节码转换为Dalvik字节码的即时编译器会对系统造成多大的负担? - JERiv
2
在尝试重新创建Cocoa框架时,版权侵权并不是您唯一需要担心的问题。苹果公司已经对诸如核心动画之类的元素提交了多项专利申请:http://www.freepatentsonline.com/y2008/0030504.html - Brad Larson
4
重新制作API以便可以交叉编译Cocoa应用程序是一回事(GNUStep和Cocotron多年来一直在努力实现这一点),而完全创建一个iPhone系统模拟器则是另一回事,从运行时开始。即使是简单得多的游戏系统也需要许多人工年份才能编写出近似的模拟器,通常需要比原始系统更高的系统规格。 - Brad Larson

3
  1. 不行
  2. 不行,差得很远
  3. 这个问题已经无意义了,无论你用什么语言编写它,你都不可能达到可用的速度。我想实际回答这个问题是尽可能靠近底层。但再说一遍,这本身就是一个愚蠢的任务。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接