Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/179.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone 面向主流手机平台终端用户的手机模拟器_Iphone_Android_Java Me_Symbian_Simulator - Fatal编程技术网

Iphone 面向主流手机平台终端用户的手机模拟器

Iphone 面向主流手机平台终端用户的手机模拟器,iphone,android,java-me,symbian,simulator,Iphone,Android,Java Me,Symbian,Simulator,我正在尝试为microsoft windows开发一个pc应用程序,主要用于提供手机仿真(特别是针对最终用户的游戏体验)。这就像你是最终用户,你可以在你的pc上下载一些移动应用程序并在你的pc上测试它们,而不是在你真正想要它之前上传到你的移动设备上 我不想让它成为一个安装了os img的设备模拟器,因为有些操作系统没有公开的os img,而且可能用户也不太频繁。我想做的只是加载和解析应用程序安装文件,模拟它的外观和感觉,并帮助我们的用户决定是否安装它 如果可行,我们希望支持以下移动应用程序文件格

我正在尝试为microsoft windows开发一个pc应用程序,主要用于提供手机仿真(特别是针对最终用户的游戏体验)。这就像你是最终用户,你可以在你的pc上下载一些移动应用程序并在你的pc上测试它们,而不是在你真正想要它之前上传到你的移动设备上

我不想让它成为一个安装了os img的设备模拟器,因为有些操作系统没有公开的os img,而且可能用户也不太频繁。我想做的只是加载和解析应用程序安装文件,模拟它的外观和感觉,并帮助我们的用户决定是否安装它

如果可行,我们希望支持以下移动应用程序文件格式:

1.适用于j2me应用程序的jar IDP 1.x、midp 2.0、cldc 1.x、opengl 3d、功能手机api,如诺基亚、三星、西门子、摩托罗拉等

2.用于symbian oss60 v3、s60 v5、s60 uiq、s^2、s^3等的sis/sisx

3.适用于android os1.6、2.1、2.2、2.3、3.0等的apk

4.cab/exe,适用于windows mobile 2003、mobile 5.x、mobile 6.x等

5.适用于iphone 3g、3gs、iphone 4、ipad、ipod等的ipa

对于jar来说,这不会是一个大问题,因为有一些应用程序,如kemulator、Micromulator成功地做到了这一点。对于symbian/android来说,它们可能没有问题,因为它们都是开源的。但对于windows mobile/iphone来说,它们是一个大问题,因为没有源代码可供参考,特别是对于iphone这样一个专有操作系统


任何建议或线索都非常详细。谢谢。

您尝试做的是大量工作,并且您复制了每个平台的模拟器/仿真器所做的工作

我认为主要有两种方法:

您的建议是什么,或者使用模拟器/模拟器。可能是开发SDK中为每个平台提供的模拟器/模拟器? 使用物理硬件,以某种方式获取每个物理设备的流屏幕捕获。 尝试编写自己的模拟器和/或仿真器,我认为需要大量的工作,需要很长的时间,对于某些设备类型,如iphone,我认为它不会很好地工作。编写自己的模拟器/仿真器也可能会有法律问题

如果沿着物理硬件路线走,初始布局可能会花费很多钱


也许你两者都可以?iphone和symbian等故障设备的物理硬件,以及android、blackberry和windows mobile的模拟器/仿真器?

我可以为symbian说话-除非你真正进入汇编程序级别并重写完整的仿真器,否则你不能在windows上运行SIS文件内容。
例如,SDK附带的Symbian emulator对emulator和最终版本GCCE或ARMV5使用单独的库,因此您必须为在emulator中运行的程序创建单独的版本。

在我将问题发布到forum.nokia和google android平台组后,我得到了很多答案,以下内容试图补充他对这个问题的回答,希望也有助于为其他人澄清这个问题

我不想让你气馁,但你给自己定了一个艰巨的目标。 如果Symbian和Nokia在过去10-12年中没有利用所有资源制作设备二进制仿真器,那么对于一个独立的开发人员来说,这并不容易,尤其是当二进制文件可能也有操作系统/平台版本和特定于硬件的依赖性时。 我怀疑,在各自的SDK中提供的J2ME、Android和iPhone模拟器也不是简单的单人项目。 换句话说,仅仅解析安装文件是不够的,这很容易,但是您还必须创建整个特定于设备/平台的运行时仿真环境,以便在无法运行代码的情况下执行无法模拟外观的二进制文件。 在任何情况下,由于Java J2ME和Android/Dalvik Java已经瞄准了虚拟机,因此它比针对实际硬件Symbian、iPhone、Windows CE/Mobile的本地二进制文件更容易。据我所知,Windows Phone 7和更高版本也在托管/虚拟化环境中运行,而不是直接针对硬件/CPU,所以在这方面有点像Java。 在任何情况下,即使对于Java,这对您来说都不是一件容易的事,因为您需要创建一个兼容的Java虚拟机和运行时环境。 有了所有现有的任天堂、Commodore 64、Atari等仿真器,开发人员通常创建了硬件仿真器,允许执行原始二进制文件。应用程序不知道它不是在真正的硬件上运行的。对于处理器/硬件越来越简单、不再进化的古老设备,这非常容易呃-我想-比试图瞄准,例如,所有的Symbian版本和基于Symbian的数百款手机,与之相比 例如,一名海军准将64岁

当然-您所需要做的就是在 然后自己重新实现一切。在上面 因此,您需要想出一种方法来执行arm机器代码 jni库,并以某种方式将其连接到其他库的模拟中。 当你完成这个项目后,你就可以写作了
他们

请任何朋友给我一些建议,谢谢。是的,我正在努力做的是大量的工作,这就是为什么我要征求像你这样的人的建议。是的,我以前考虑过您的解决方案1,但这确实使我们很难在不进行定制的情况下让产品更加人性化。解决方案2是一个不错的主意,但正如您所说的,初始投资很高,这将给流式捕获带来网络延迟问题。我认为这将取决于您是否愿意在这方面花钱。如果没有钱,就选择仿真器/模拟器。如果你是,没有什么比在真正的设备上运行东西更好的了。诺基亚有一项服务或一项服务,很久没有使用它了,它允许你在一台真正的设备上租用时间,你可以通过网络远程控制,在特定的设备上测试你的应用程序,这样你就不必购买它了。这似乎是你想做的。丽荷,谢谢你的回复。你是对的,但我正试图开发的是针对最终用户的,因此我们不可能让开发人员单独构建一个在x86模拟器中运行的版本。看来我唯一的选择是进入汇编程序级别,重写整个模拟器,它尝试加载和解析sis/sisx文件格式,然后将arm指令翻译成x86指令,这是不是很费事?简而言之,这是不可能的。如果你能做到这一点,那么你可以选择在哪里作为最资深的软件开发人员:微软/苹果/谷歌