题 为什么Android模拟器这么慢?我们如何加快Android模拟器的速度? [关闭]


我有一个 2.67GHz赛扬处理器,和 1.21GB上的RAM 86 视窗 XP 专业机器。

我的理解是 Android模拟器 应该在这样的机器上相当快地开始,但对我来说,它不会。我已经按照设置IDE,SDK,JDK等的所有说明进行操作,并且在快速启动模拟器方面取得了一些成功,但这种情况非常罕见。如果可能的话,我怎样才能解决这个问题?

即使它启动并加载主屏幕,它也非常缓慢。我试过了 Eclipse IDE 在 版本3.5 (伽利略)和 3.4 (木卫三)。


3093


起源


替代是Genymotion。 genymotion.com。这要快得多。直接安装。 - Sukitha Udugamasooriya
我已经发现模拟器在linux上以更快的速度运行(并且我的意思是waaaay)。我有一台带有双引导的笔记本电脑,在Windows上模拟器启动大约需要15分钟,linux大约需要30秒。我不知道像OSX这样的其他操作系统,但对我来说感觉就像一个窗户。 - Daniël van den Berg
据报道,Android Studio 2.0不仅具有更快的模拟器,而且采用“即时运行”,允许在几秒钟内将源中的某些更改(例如XML)部署到目标,而无需重建APK。重新部署。看到 android-developers.blogspot.co.uk/2015/11/... - Carl Whalley
请尝试我们新发布的名为Leapdroid的Android虚拟机,它完全免费,并且与基于QEMU的仿真器兼容,具有非常快的OpenGL impl。 leapdroid.com - huisinro
我认为你的ram非常小,模拟器运行速度更快。 - Zia U Rahman


答案:


更新

您现在可以为Android Emulator启用快速启动选项。这将保存模拟器状态,它将在下次启动时快速启动模拟器。

单击模拟器编辑按钮,然后单击 显示高级设置。然后启用 Quick Boot 如下截图。

Quick boot

Android开发工具(ADT)9.0.0 (或更高版本)具有允许您保存AVD(模拟器)状态的功能,您可以立即启动模拟器。您必须在创建新AVD时启用此功能,或者稍后可以通过编辑AVD来创建它。

我也增加了 Device RAM Size 至 1024 这导致非常快速的模拟器。

有关详细信息,请参阅下面给出的屏幕截图。

使用保存快照功能创建新的AVD。

Android emulator with save snapshot feature.

从快照启动模拟器。

Launching the emulator from the snapshot.

为了加快你的模拟器,你可以参考 加速你的Android模拟器!


1318



更新现有设备时,请从快照中首次启动时擦除用户数据 - Mark Bakker
我把AVD设置为这个,但是当我重新启动AVD时看起来仍然很慢,为什么? - zhongshu
@Peter Ehrlich:去吧 Window> Android SDK和AVD Manager 并从列表中选择要启动的AVD,然后单击 开始 右窗格中的按钮。它会打开你想要的。 - Vikas Patidar
设置1024时我得到“无法分配内存”。它还在配置窗口底部显示一条警告:“在Windows上,模拟大于768M的RAM可能会失败依赖...”我尝试将其设置为770,并且然后它奏效了。它未能将其设置为800。 - awe
@Msmit1993:您可以将基于Intel x86的仿真器与HAX工具配合使用。相信我,你会惊讶于模拟器比你的实际设备更快。 - Vikas Patidar


重要的提示: 请 第一 参考 有关VT的英特尔列表 确保您的CPU支持Intel VT。

HAXM加快了慢速Android模拟器的速度

HAXM 代表 - “英特尔硬件加速执行管理器”

目前它仅支持Intel VT(Intel虚拟化技术)。

Android模拟器基于 QEMU。 QEMU与主机系统上的HAXM驱动程序之间的接口设计为与供应商无关。

HAXM

为HAXM配置Android开发环境的步骤

  1. 更新Eclipse: 确保您的Eclipse安装和ADT插件完全是最新的。

  2. 更新您的Android工具: 每次Eclipse插件更新后,更新Android SDK工具非常重要。为此,请启动Android SDK Manager并更新所有Android SDK组件。要利用HAXM,您必须至少发布第17版。

Enter image description here

  • 下载 x86原子系统映像 和 英特尔硬件加速执行管理器驱动程序。请看下图:

Enter image description here

  • 通过运行“IntelHaxm.exe”安装HAXM驱动程序。它将位于以下位置之一:

    • C:\Program Files\Android\android-sdk\extras\intel\Hardware_Accelerated_Execution_Manager

    • C:\Users\<user>\adt-bundle-windows-x86_64\sdk\extras\intel\Hardware_Accelerated_Execution_Manager

    如果安装程序失败并显示必须打开Intel VT的消息,则需要在中启用此功能 BIOS。请参阅说明,了解如何执行此操作 启用Intel VT(虚拟化技术)

Install .exe or .dmg

  • 创建一个  x86 AVD:请按照下图:

Create AVD

  • 或者对于新的SDK, Enter image description here

1070



好的写作。如果您正在寻找Google的文档(包括Mac的一些差异),可以在此处找到它们: developer.android.com/tools/devices/emulator.html#accel-vm - Todd Price
在Linux上不起作用。 - Kshitiz Sharma
我试过这个解决方案。有效。但是,我使用MonoDroid安装,一分钟内找不到IntelHaxm.exe。它在这里:C:\ Users \ jbarneck \ AppData \ Local \ Android \ android-sdk \ extras \ intel - Rhyous
哇,不能够谢谢你!不敢相信我一直和慢模拟器一起生活。我觉得这很正常。我真的很想念快速启动时间,是不是有办法在GPU加速的同时启用快照? - Reda
这很好用。感谢分享这个!当启用“使用主机GPU”时,模拟器会大量闪烁,但是如果没有启用主机GPU,它现在真的很快。 - user1619275


尝试 Android x86。它比谷歌Android模拟器快得多。按着这些次序:

  1. 安装 VirtualBox的
  2. 下载 ISO文件 你需要的。
  3. 创建一个虚拟机,如Linux 2.6 /其他Linux,512 MB RAM,HD 2 GB。网络:PCnet-Fast III,附属于 NAT。您也可以使用桥接适配器,但需要一个 DHCP 您环境中的服务器。
  4. 在模拟器上安装Android x86,运行它。
  5. Alt键+F1,键入 netcfg,记住IP地址,按 Alt键+F7
  6. 在Windows XP系统上运行cmd,将目录更改为Android工具目录,键入 adb connect <virtual_machine_IP>
  7. 启动Eclipse,打开ADT插件,找到设备,享受吧!

570



所以我联系了如何让屏幕垂直?我也没有看到任何地方的手机硬件按钮。 - Alex
看到 groups.google.com/group/android-x86/browse_thread/thread/... 和 groups.google.com/group/android-x86/browse_thread/thread/... 用于更改屏幕分辨率。 - Gili
只是想提醒大家,如果你想在模拟器中使用鼠标,你需要在设备菜单中启用鼠标集成! - kakopappa
请注意,如果您使用的是特定于ARM的任何内容(例如,适用于Android的Mono),则它将无法在Android x86上运行。 - Matthew Groves
对我来说,netcfg显示lo 127.0.0.1 255.0.0.0 0x00000049在这里我应该在adb命令中提到127.0.0.1 IP吗?它显示“无法连接到127.0.0.1:5555”请帮助。 - Dev


更新: 最新版本的Android studio(2.x)对捆绑的模拟器进行了重大改进。它具有响应性,并具有一大堆功能。

对于仍然感兴趣的人: 尝试使用 Genymotion。您可以在注册后下载适用于Windows / Mac OS X / Linux的版本。 Eclipse的插件也可用:

可以通过启动Eclipse并转到“帮助/安装新软件”菜单来完成插件的安装,然后只需使用以下URL添加新的更新站点: http://plugins.genymotion.com/eclipse。按照Eclipse指示的步骤操作。

这个模拟器快速响应。

GenyMotion允许您控制设备的各种传感器,包括电池电量,信号强度和GPS。最新版本现在还包含相机工具。


300



Genymotion是开发/测试您的应用程序的最佳方式。它不仅比传统的模拟器更快更好。它比真实设备更快。我将其用于99.99%的部署,因为这意味着我可以在很短的时间内看到结果。这也意味着我可以使用OpenGL ES和普通模拟器上没有的其他东西。 - Eurig Jones
较新版本的Genymotion不包含GooglePlay服务。此链接显示如何手动安装它们:forum.xda-developers.com/showthread.php?t = 2528952 - Apfelsaft
在你重新安装VBox或他们使用的任何工具之前没关系,然后停止工作 - 卸载没有用。但它 是 它持续时很好。 - milosmns
Genymotion不再免费(就像我上次使用时一样),不确定这仍然是开发人员的最佳选择 - Zain Ali
自Android Studio 2以来,模拟器已经改进了十倍。它有很多功能,表现良好。 - blaffie


Eclipse(旧版)Eclipse中包含的模拟器非常慢。

最近的模拟器比2010年更快。更新SDK / IDE。

就个人而言,我使用真正的手机进行测试。它更快,测试更真实。但是如果你想在很多不同的Android版本上测试你的应用程序并且不想购买几部手机,你将不得不经常使用模拟器。


193



与真实机器相比,vmware运行时具有未被注意的性能差异。即使仿真器仿真ARM它也应该更快,即使在相同的系统频率上,我的PC是3.6GHz,比500 MHz的Android手机慢。 - NickSoft
@rds - 我的AVD应该模拟intel而不是ARM来加载它吗? - Trojan.ZBOT
nope,这不是针对x86优化的......它模仿x86手机硬件 - 而现在的普通手机很容易胜过有问题的机器:) - Martin Zeitler
您是否意识到两者都运行相同的模拟器? android-sdk \ tools \ emulator-x86.exe,与Eclipse无关,你可能刚刚开始使用Intel x86映像和Intel HAXM。 - Dan Dar3
那么他们现在以闪电般的速度返回的速度有多慢。 - Bolling


模拟器的启动非常慢。好消息是你只需要启动模拟器一次。如果模拟器已在运行且您再次运行应用程序,则模拟器会相对快速地重新安装应用程序。当然,如果你想知道它在手机上运行的速度有多快,最好在真正的手机上进行测试。


129



如果需要几个小时,可能还有其他问题。我只需要几分钟。 - Jay Askren
你的硬件配置和操作系统是什么? - Junior M
@Junior Mayhe:我使用Windows,Mac和Linux为Android编程。我现在经常使用Mac。我使用的计算机有2到4演出的RAM和一个相当现代的2到3吉的处理器。在所有情况下,首次启动模拟器似乎需要几分钟,但随后重新安装应用程序相当快。 - Jay Askren
@ user286101:在我的旧笔记本电脑(1.6Ghz双核,1GB RAM)中加载一个新的apk到已经运行的模拟器不超过10秒,唯一的问题是我经常忘记让模拟器运行所以我不得不通过慢启动过程(需要3-5分钟)。 - Lie Ryan
@LieRyan“应该不会超过10秒”,遗憾的是,那是一个类似大小的时间 C ++ 今天的机器项目。 - kizzx2


英特尔发布 推荐的ICS仿真器安装说明 在2012年5月15日。这对我有用。模拟器现在很快,UI很流畅。

上半部分说明已经足够详细,因此我假设您可以使用Android SDK管理器以及Intel HAXM安装Intel x86 Atom系统映像。

现在确保设置其他所有内容,以便您可以享受高性能的模拟器:

然后开始吧:

sudo kextload -b com.intel.kext.intelhaxm (mac)

如果HAXM工作正常,您可能会在启动模拟器时看到此消息:

HAX正在运行,模拟器以快速virt模式运行

否则您可能会看到此错误:

HAX无法正常工作,仿真器在仿真模式仿真器中运行:
  无法打开hax模块

  • 使用GPU模拟。  在撰写本文时,使用GPU仿真时无法使用“快照”选项。确保GPU仿真设置为“是”。

  • 将设备内存设置为1024 MB或更多,但不超过英特尔HAXM设置。我每台设备使用1024 MB,HAXM使用2048。

保存后请务必仔细检查设置!  模拟器对于它允许您设置的内容非常挑剔,它将在不告诉您的情况下还原配置。

使用这些设置,软件键盘不再出现,屏幕后退,菜单和最近的键也不再出现。这似乎是当前ICS Intel x86系统映像的限制。你需要使用 键盘快捷键

在Mac OS上,您需要保留 FN + 控制 为了 F1  - F12 工作的关键。可以使用控制+箭头键执行向上/向下/向左/向右翻页。


118



使用带有Intel HAXM的虚拟机时要小心。显然,如果系统内存耗尽,虚拟环境可能会损坏。 - James Wald
android-dev.ro/web/guest/home  这是在Eclipse中设置HAXM x86 AVD的另一个好的逐步说明。此外,它还解释了如何设置Google API。 - sulai
不确定这是不是我做错了什么,但我密切关注指南并得到:“HAX正在工作,模拟器以快速的virt模式运行”,就在设备启动之前,但是......实际加载速度甚至比原始臂版本慢。我在Mac上,CPU支持VT。 - jayarjo
这是正确的答案..我安装了Intel x86处理器并启用了GPU。使用这些设置,仿真器响应迅速且流畅。最后!如果您需要帮助在Windows或Mac上进行设置,请告诉我。所有的Adios - Tony
多亏了这一点,在Windows 7 Pro,intel core i7 3770上进行了测试,它确实有效。在Windows上,只需要安装英特尔硬件加速执行管理器(HAXM),它将自动启动。只需使用Intel Atom x86创建AVD,并确保选择“使用主机GPU” - gerrytan