主流手机平台上面向最终用户的手机模拟器

发布于 2024-12-01 00:08:17 字数 877 浏览 3 评论 0原文

我正在尝试开发一个PC应用程序(主要针对Microsoft Windows)来为最终用户提供手机模拟(尤其是游戏)体验。这就像如果您是最终用户,您可以在您的电脑上下载一些移动应用程序并在您的电脑上测试它们,而不是在您真正想要拥有它之前上传到您的移动设备。

我并不是试图将其设置为安装了 os img 的设备模拟器,因为某些操作系统没有公开可用的 os img,而且它可能也不是那么用户友好。我想做的就是加载和解析应用程序安装文件并模拟外观和效果。感受它,并帮助我们的用户做出是否要安装它的决定。

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

1). j2me 应用程序的 jar(midp 1.x、midp 2.0、cldc 1.x、opengl 3d、功能手机 api,如诺基亚、sansumg、simense、motorola 等)

2)。 sis/sisx 适用于 symbian 操作系统(s60 v3、s60 v5、s60 uiq、s^2、s^3 等)

3)。适用于 Android 操作系统的 apk(1.6、2.1、2.2、2.3、3.0 等)

4)。适用于 Windows Mobile 的 cab/exe(mobile 2003、mobile 5.x、mobile 6.x 等)

5)。 ipa for iphone(iphone 3g、3gs、iphone 4、ipad、ipod 等)

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

非常感谢任何建议或线索。谢谢。

I'm trying to develop a pc application(mainly for microsoft windows) to provide mobile phone emulation(especially on game) experience for the end users. It's like if you are an end user, you can download some mobile apps on your pc and test them on your pc rather than uploading to you mobile device before you really wanna have it.

I'm not trying to make it a device simulator with the os img installed, as there is no os img publicly available for some os, and it might not be so user-freindly either. All I wanna do is to load and parse the app installation file and simulate the look & feel of it, and help our users to make their decisions if they wanna install it or not.

If feasibly, we'd like to support the following mobile app file formats:

1). jar for j2me application(midp 1.x, midp 2.0, cldc 1.x, opengl 3d, feature phone api like nokia, sansumg, simense, motorola, etc.)

2). sis/sisx for symbian os(s60 v3, s60 v5, s60 uiq, s^2, s^3 etc.)

3). apk for android os(1.6, 2.1, 2.2, 2.3, 3.0 etc.)

4). cab/exe for windows mobile(mobile 2003, mobile 5.x, mobile 6.x etc.)

5). ipa for iphone(iphone 3g, 3gs, iphone 4, ipad, ipod etc.)

For jar it would not be such a big problem, as there are some apps like kemulator, microemulator succeed in doing this. For symbian/android, they might be no problem as they are both opensourced. But for windows mobile/iphone, they are big problems as there are no source code to reference, especially for iphone such a proprietary os.

Any suggestions or clues are greatly aprreicated. Thanks.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

最美不过初阳 2024-12-08 00:08:17

我可以代表 Symbian 发言 - 除非您真正进入汇编程序级别并重写完整的模拟器,否则您无法在 Windows 上运行 SIS 文件内容。
例如,SDK 附带的 Symbian 模拟器使用单独的模拟器库和最终构建(GCCE 或 ARMV5),因此您必须为要在模拟器中运行的程序进行单独的构建。

I can speak for Symbian - You can't run SIS file contents on Windows unless you really go into assembler level and rewrite the full emulator.
For example Symbian emulator that comes with SDK uses separate libraries for emulator and for final build (GCCE or ARMV5) so you have to make a separate build for a program to run in emulator.

任性一次 2024-12-08 00:08:17

您要做的是大量工作,并且复制每个平台的模拟器/仿真器完成的工作。

我认为有两种主要方法可以做到这一点:

  1. 您的建议以及使用模拟器/仿真器。 (也许开发 SDK 中为每个平台提供了这些?)
  2. 使用物理硬件并以某种方式获取每个物理设备的流屏幕捕获。

尝试编写自己的模拟器和/或仿真器,我认为工作量很大,并且需要很长时间,并且对于某些设备类型(如 iPhone),我认为它不会很好地工作。编写自己的模拟器/仿真器也可能会遇到法律问题。

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

也许你可以两者兼得?适用于 iPhone 和 symbian 等故障设备的物理硬件以及适用于 Android、黑莓和 Windows Mobile 的模拟器/仿真器?

What you are trying to do is a lot of work and your duplicating the work done by the simulators / emulators for each of the platforms.

I think there would be two main ways to do this:

  1. What your suggesting and either use simulators / emulators. (Maybe the ones supplied in the development SDK's for each platform?)
  2. Use physical hardware and somehow get stream screen captures of each physical device.

Trying to write your own simulators and/or emulators, I think is a lot of work and will take a very long time and for some device types (like iphone) I don't think it will work very well. There may also be legal trouble in writing your own simulator / emulator.

If you go down the physical hardware route, It may cost a lot of money for the initial layout.

Maybe you can do both? Physical hardware for trouble devices like iphone and symbian and simulators/emulators for android, blackberry and windows mobile?

烛影斜 2024-12-08 00:08:17

在我在forum.nokia和google android-platform group上发布我的问题后,我得到了很多答案,以下内容试图补充这个问题的答案,希望它也有助于澄清其他人的问题。

来自诺基亚论坛

我不想阻止你,但你已经为自己设定了一个令人敬畏的目标。
如果 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 虚拟机和运行时环境。
对于所有现有的 Nintendo、Commodore 64、Atari 等模拟器,开发人员通常创建了允许执行原始二进制文件的硬件模拟器(应用程序不知道它没有在真实硬件上运行)。对于具有非常简单的处理器/硬件且不再发展的古老设备,我想,这比尝试针对所有 Symbian 版本和基于 Symbian 的手机(数百种型号,例如,一台 Commodore 64)。

来自 google group

当然 - 您需要做的“所有”就是阅读完整的 api 文档:
devloper.android.com,然后自己重​​新实现一切。在上面
那,你需要想出一种方法来执行arm机器代码
jni 库,并以某种方式将其挂接到您对其余部分的模拟中。
当您完成该项目后,您将能够编写
他们。

I've got a lot answers after I posted my question on forum.nokia and google android-platform group, and the following contents is trying to complement this answer to this question, hopefully it would contribute to clarify the question for others too.

from forum nokia

I don't want to discourage you, but you've set yourself a formidable goal.
If Symbian and Nokia with all their resources haven't managed to during the last 10-12 years to make a device binary emulator, do not expect it to be easy for a lone, independent developer (especially when the binaries may have OS/platform version and hardware specific dependenies to account for, too).
And the emulators for J2ME, Android and iPhone that are supplied in the respective SDKs, are also no easy one-man-projects, I suspect.
In other words, it is not enough to "parse the installation file" (which is easy), but you'd also have to create the whole device/platform specific runtime emulation environment so that you can execute the binaries (you can't "simulate the look & feel", if you can't run the code).
In any case, as Java (J2ME and Android/Dalvik Java) already are targeting a virtual machine, with those it is easier than native binaries that target actual hardware (Symbian, iPhone, Windows CE/Mobile). Windows Phone 7 and later, is also, to my understanding, running in a managed/virtualized environment, instead of targeting the hardware/CPU directly, so it is a bit like Java in this respect.
In any case, even for Java, it won't be exactly easy for you, as you'd need to create a compatible Java virtual machine and runtime environment.
With all the existing Nintendo, Commodore 64, Atari, etc.., emulators, the developers usually have created the hardware emulator that allows the original binaries to be executed (the apps doesn't know it is not running on the real hardware). With ancient devices with much, much simpler processors/hardware, and which no longer evolve, it is much easier - I imagine - than trying to target, e.g., all Symbian versions and Symbian based phones (hundreds of models, vs., e.g., one Commodore 64).

from google group

Sure - "all" you need to do is read the entirety of the api documentation at
devloper.android.com, and then re-implement everything yourself. On top of
that, you will need to come up with a way to execute the arm machine code in
jni libraries, and somehow hook it into your emulation of the rest.
When you are finished with the project, you will be in a position to write
them.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文