我在x86 Windows XP Professional机器上有2.67 GHz赛扬处理器和1.21 GB RAM。
我的理解是,Android Emulator应该在这样的机器上启动得相当快,但对我来说,它没有。我遵循了设置IDE、SDK、JDK等的所有说明,并在快速启动仿真器方面取得了一些成功,但这非常罕见。如果可能的话,我如何解决这个问题?
即使它启动并加载主屏幕,它也非常缓慢。我已经在3.5版(伽利略)和3.4版(木卫三)中尝试过Eclipse IDE。
我在x86 Windows XP Professional机器上有2.67 GHz赛扬处理器和1.21 GB RAM。
我的理解是,Android Emulator应该在这样的机器上启动得相当快,但对我来说,它没有。我遵循了设置IDE、SDK、JDK等的所有说明,并在快速启动仿真器方面取得了一些成功,但这非常罕见。如果可能的话,我如何解决这个问题?
即使它启动并加载主屏幕,它也非常缓慢。我已经在3.5版(伽利略)和3.4版(木卫三)中尝试过Eclipse IDE。
当前回答
简短回答:因为ARM->x86指令翻译。Emulator的工作方式与虚拟机类似,虚拟机的任务是启动一个完整的操作系统,然后运行测试应用程序。ARM->x86转换可能非常耗时,对您的应用程序来说更少,但对操作系统启动时更为耗时(这与复杂性和涉及的指令数量成正比)。
一些人建议在x86模拟器上运行代码。这意味着不需要加载基于ARM的操作系统,而是加载一个在x86机器上运行速度更快的x86变体,因为不需要ARM->x86转换。然而,这并不是一个完美的解决方案:
使用NDK并带有为ARM编译的本机库(*.so)的Android应用程序将无法在x86仿真器上运行,因此此类程序将无法运行。但是,如果您达到了这一点,并开始处理NDK/本机JNI代码,那么您可能已经对仿真器了解足够了。
其他回答
我建议您使用Android手机通过USB调试进行开发。与虚拟设备相比,它提供了更好的应用测试体验和更好的输出。或者,您也可以使用其他答案中提到的选项,并可以使用Bluestacks App Player,这在Android设备不可用的情况下也是一个不错的选项。
我昨天刚开始使用Windows7,面临着同样的问题。我发现并正在为我工作的最简单的解决方案是在模拟器中使用低配置设备。我使用Nexus One而不是Nexus 7,并在Android虚拟设备中为设备选择快照。
同样重要的是保持模拟器打开。它可以在Eclipse和AndroidStudio中工作。
在一个窗口中,它表示当RAM超过~700时,快照通常不起作用。因此,选择配置较低的一个很容易帮助测试HelloWorld,然后开发应用程序。稍后,我们可以在高端设备上进行测试。
对我来说,虚拟化支持不起作用,因为我的硬件不支持它。
为初学者提供简单易行的解决方案。我尝试了很多方法,并停止了将Genymon与Eclipse结合使用。Genymotion只需在Eclipse中添加一个虚拟设备。
一步一步地:
从这里下载包含VirtualBox的Genymotion。在VirtualBox中安装包含此包的内部版本。从这里将插件安装到Eclipse中。启动GenyMotion并创建您想要使用的虚拟设备,然后启动它。在Eclipse中,转到Window->Preferences->GenyMobile->GenyMotion,并将路径设置为GenyMotioon(在我的例子中,为C:\ProgramFiles/GenyMobile/GenyMotion)。单击Eclipse中要启动的项目名称。使用“运行方式”启动应用程序。在设备列表中,您应该看到模拟设备。你可以模仿你想要的。
在我看来,这个解决方案是唯一的快速解决方案。Eclipse中没有模拟器工作得这么快,而且每个设置都非常慢。只有此解决方案几乎实时工作。我可以推荐(笔记本i3,2.6 GHz)。
我也遇到过同样的问题,但我通过从C:\Users\User\中删除.android文件夹来解决这个问题。
现在,每当我启动Eclipse或AVD时,我都会删除该文件夹。之后,我的AVD在20到30秒内启动,模拟器工作平稳,延迟可以忽略不计。
可选:如果问题仍然存在,请尝试克隆NEXUS S平均日。
使用Intel x86 Emulator加速器
首先,安装Intel x86 Emulator Accelerator(HAXM)。这可以直接从Intel或使用Android SDK Manager下载。在SDK管理器中,它位于Extras下。
在我使用的AndroidStudio版本(0.8.9)中,AndroidSDKManager下载HAXM,但实际上不运行安装程序(我认为这将在以后的版本中得到修复)。要运行安装程序,我必须转到C:\Program Files(x86)\Android\Android studio\sdk\pextras\intel\Hardware_Accelerated_Execution_Manager并手动启动intelhaxm.exe。
HAXM可与Intel设备配合使用,因此创建了一个带有Intel CPU的新Emulator。
使用Intel Atom x86创建新的AVD
这大大改善了性能,但模拟器仍然感觉有点迟钝。最后一步是选择在Android虚拟设备管理器(AVD)中使用主机GPU。
在这些更改之后,Android Emulator在5-10秒内启动并运行,没有任何明显的延迟。请注意,这些功能依赖于硬件(CPU/GPU),在某些系统上可能无法工作。