Jquery plugins 虚拟机中的安卓X86代表了安卓仿真器的真正替代品吗?

Jquery plugins 虚拟机中的安卓X86代表了安卓仿真器的真正替代品吗?,jquery-plugins,cordova,android-emulator,android-x86,Jquery Plugins,Cordova,Android Emulator,Android X86,我正在用jQuery Mobile、Phonegap和谷歌地图的jQuery插件开发一个Android应用程序。emulator加载网页花费的时间太长,使代码测试成为一项痛苦的操作。我已经在虚拟机上安装了Android x86,并将其链接到Eclipse以调试我的应用程序 此解决方案比emulator更快,但问题是我的应用程序总是崩溃,而emulator中的情况并非如此。这让我想到了一个问题:虚拟机上的Android x86是仿真器的稳定替代品吗?谷歌的Android SDK仿真器从版本17开始

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


此解决方案比emulator更快,但问题是我的应用程序总是崩溃,而emulator中的情况并非如此。这让我想到了一个问题:虚拟机上的Android x86是仿真器的稳定替代品吗?

谷歌的Android SDK仿真器从版本17开始就原生了

谷歌在他们的ADT版本-17中说

新特性之一是一个大的更新 对于Android emulator,英特尔对AOSP的贡献意味着 模拟器现在在Windows和Mac OS X上以接近本机的速度运行


所以,如果您使用的是最新版本的sdktools和emulator,您不应该看到应用程序运行速度的巨大差异

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

与您描述的情况不同,我的应用程序从未在Android-x86虚拟机上崩溃,而且由于SDK的仿真器,它实际上是测试我的应用程序的唯一方法,而无需购买真正的Android设备

另外,正如您所注意到的,它运行得更快。与谷歌声称的“接近本机速度”相反,Android的SDK运行速度比Android-x86慢得多,当然也比真正的手机或平板电脑慢

在Android-x86虚拟机上运行时,应用程序崩溃这一事实实际上可能是一件好事:这是一个检查如何使应用程序更健壮的机会(你知道,有很多类型的设备)


唯一的缺点是它最多只能在ICS(Android 4.0.4)上使用,这意味着您无法在Jelly Bean(Android 4.1.x)中测试您的应用程序。这可以通过构建您自己的来解决。

许多虚拟化软件和系统依赖于CPU(VT等)的硬件虚拟化能力,但VirtualBox即使没有它也能运行Android x86(eeepc iso)非常(快速)。存在明显的限制,但请记住,任何模拟器都只能做到这一点


如果您的CPU不支持硬件虚拟化,那么它是一个非常好的替代方案。

Genymotion是一个打包且受支持的解决方案,它为不同版本的Android提供了一系列虚拟机,您可能想看看它。它现在可以提供到Nougat(7.1)和Pie。不过,速度并不是唯一的区别。在GNU/Linux以外的平台上,Google的emulator要求Intel HAXM运行x86映像,这是一种侵入性的专有软件(它使用内核扩展),如果您已经拥有VirtualBox,那么使用VBox而不增加攻击面是有意义的(因为添加内核扩展的软件中的bug或后门可能非常糟糕;顺便说一句,在现实生活中,Intel HAXM在主机系统中导致内核死机)