6

我正在使用 jQuery Mobile、Phonegap 和用于 Google 地图的 jQuery 插件开发一个 Android 应用程序。模拟器加载网页的时间太长,使我的代码测试成为一个痛苦的操作。我在虚拟机上安装了 Android x86 并将其链接到 Eclipse 以调试我的应用程序。

此解决方案比模拟器更快,但问题是我的应用程序总是崩溃,而模拟器中并非如此。这让我产生疑问:虚拟机上的 Android x86 是模拟器的稳定替代品吗?

4

3 回答 3

4

根据我的经验,答案肯定是 Yes

与您描述的情况不同,我的应用程序永远不会在 Android-x86 VM 上崩溃,并且由于 SDK 的模拟器不支持麦克风输入,它实际上是测试我的应用程序的唯一方法,而无需为每个变体购买真实设备安卓。

此外,正如您所指出的,它运行更快。与 Google 声称的“接近原生速度”相反,Android 的 SDK 运行速度比 Android-x86 慢得多,而且肯定比真正的手机或平板电脑慢。

您的应用程序在 Android-x86 VM 上运行时崩溃的事实实际上可能是一件好事:有机会检查如何使您的应用程序在不可预见的情况下更加健壮(您知道,那里有许多类型的设备)。

Android-x86的唯一缺点是它仅适用于 ICS (Android 4.0.4),这意味着您无法在 Jelly Bean (Android 4.1.x) 中测试您的应用程序。这可以通过构建您自己的VirtualBox - AOSP来解决。

于 2012-08-19T14:19:19.420 回答
1

许多虚拟化软件和系统依赖于 CPU(VT 等)的硬件虚拟化能力,但即使没有它,VirtualBox 也能很好地(快速)运行 Android x86 (eeepc iso)。有明显的限制,但请记住,任何模拟器都只能走这么远。

如果你的 CPU 不支持硬件虚拟化,这是一个非常好的选择。

于 2014-06-24T05:11:15.323 回答
0

Google 的 Android SDK Emulator 从版本 17 开始原生。

谷歌在他们的 ADT 版本 17变更日志中说

其中一项新功能是对 Android 模拟器的重大更新——英特尔对 AOSP 的贡献意味着该模拟器现在可以在 Windows 和 Mac OS X 上以接近本机的速度运行。

因此,如果您使用最新版本的 sdktools 和仿真器,您应该不会看到应用程序运行速度的巨大差异。

于 2012-08-03T17:36:09.623 回答