为什么安卓模拟器这么慢?我们如何加快 Android 模拟器的速度?

Why is the Android emulator so slow? How can we speed up the Android emulator?

提问人: 提问时间:10/12/2009 最后编辑:18 revs, 13 users 37%Peter Mortensen 更新时间:7/1/2023 访问量:1130769

问:

想改进这篇文章吗?提供此问题的详细答案,包括引文和解释为什么您的答案是正确的。没有足够细节的答案可能会被编辑或删除。

我在 x86 Windows XP Professional 机器上安装了 2.67 GHz 赛扬处理器和 1.21 GB RAM。

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

即使它启动并加载主屏幕,它也非常缓慢。我已经在 3.5 (Galileo) 和 3.4 (Ganymede) 中尝试了 Eclipse IDE

性能 Android模拟器 Genymotion QEMU

评论

82赞 Sukitha Udugamasooriya 7/14/2015
替代是Genymotion。genymotion.com。这要快得多。安装简单。
9赞 Daniël van den Berg 10/26/2015
我发现模拟器在 linux 上运行得更快(我的意思是 waaaay)。我有一台带有双启动的笔记本电脑,在 Windows 上,模拟器大约需要 15 分钟才能启动,而 linux 大约需要 30 秒。我不了解OSX等其他操作系统,但对我来说感觉就像Windows一样。
11赞 Carl Whalley 12/3/2015
据报道,Android Studio 2.0 不仅具有更快的模拟器,而且还采用了“即时运行”功能,它允许在几秒钟内将源代码中的某些更改(例如 XML)部署到目标,而无需重新构建和重新部署 APK。请参阅 android-developers.blogspot.co.uk/2015/11/...
13赞 Zia U Rahman 7/6/2016
我认为您的 RAM 非常小,无法让模拟器运行得更快。
9赞 Henrik Erlandsson 2/21/2017
避免混淆评论的一种方法是设置一个小通知框,说明问题比 2 岁更老。技术瞬息万变,你会希望年龄影响排名,即使这个问题不应该像在较小的网站上那样被关闭/存档。

答:

219赞 9 revs, 3 users 73%Nicolas Raoul #1

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

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

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

评论

1赞 NickSoft 3/11/2012
与真实计算机相比,VMware 运行时存在未被注意到的性能差异。即使模拟器模拟 ARM,它也应该更快,即使在相同的系统频率下,我的 PC 也是 3.6GHz,比 500 MHz 的 android 手机慢。
0赞 Trojan.ZBOT 12/22/2013
@rds - 那么我的 AVD 是否应该模拟 intel 而不是 ARM 以使其加载速度更快?
0赞 Martin Zeitler 5/29/2014
不,这没有针对 x86 进行优化......它模拟 x86 手机硬件 - 而现在的普通手机很容易胜过有问题的机器:)
0赞 Dan Dar3 9/9/2015
您确实意识到两者都运行同一个模拟器,对吗?android-sdk\tools\emulator-x86.exe,与 Eclipse 无关,您可能刚刚开始将 Intel x86 映像与 Intel HAXM 一起使用。
0赞 Bolling 9/18/2015
好吧,与他们现在以闪电般的速度前进的日子相比。
42赞 2 revs, 2 users 75%Peter Mortensen #2

仿真器启动选项中所述的选项会有所帮助。-cpu-delay <delay>

评论

2赞 Andrew S 1/9/2018
链接现在无处可去。这仍然相关吗?
48赞 Fedor #3

尝试禁用防病毒软件。也许它会让模拟器更快一点。

评论

7赞 Guy Starbuck 3/20/2010
我发现这也是真的——我删除了 AVG Free 并安装了 MS Security Essentials,模拟器启动速度明显更快。YMMV。
4赞 alex.pilon 3/2/2012
它在 Linux 系统上仍然非常缓慢......显然通常没有 AV
3赞 Robin Maben 7/28/2012
我没有杀毒软件。仍然需要很长时间..
0赞 Suici Doga 2/18/2016
我的模拟器在没有 AV 的 Linux 上太慢了,它只是打开一个黑色窗口并挂起。我的另一台装有 Windows 的计算机不支持 vt-x,因此它无法正常工作。
0赞 vk.edward.li 6/7/2018
尝试重新启动计算机,也许它会让模拟器更快一点。
105赞 3 revs, 2 users 67%Peter Mortensen #4

我注意到,如果没有连接Dalvik调试监控服务器(DDMS),模拟器的启动速度会快得多。因此,如果从虚拟设备管理器“SDK Setup.exe”启动模拟器,并且 Eclipse 未启动,则模拟器的工作速度会更快。

如果从 Eclipse 启动模拟器:DDMS 就在那里,所以有时模拟器非常慢,但有时更快。

评论

2赞 Lie Ryan 8/12/2011
@Shekhar:DDMS = Dalvik 调试监控服务器
0赞 gumuruh 5/2/2015
如果我们通过 Git Bash 的 Cordova 命令行运行模拟器...无论如何,如何禁用Dalvik Debug Monivor Server?
140赞 Jay Askren #5

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

评论

42赞 Jay Askren 10/25/2010
如果需要几个小时,则可能有其他问题。对我来说只需要几分钟。
0赞 Junior Mayhé 12/17/2010
您的硬件配置和操作系统是什么?
0赞 Jay Askren 12/17/2010
@Junior Mayhe:我使用 Windows、Mac 和 Linux 为 Android 编程。我现在最常使用 Mac。我用过的电脑有 2 到 4 GB 的 RAM 和一个相当现代的 2 到 3 GHz 处理器。在所有情况下,首先启动模拟器似乎需要几分钟时间,但随后重新安装应用程序相当快。
3赞 Lie Ryan 8/12/2011
@user286101:在我的旧笔记本电脑(1.6Ghz 双核,1GB RAM)中,将新 apk 加载到已经运行的模拟器中不超过 10 秒,唯一的问题是我经常忘记让模拟器运行,所以我不得不经历缓慢的重启过程(需要 3-5 分钟)。
0赞 kizzx2 1/14/2012
可悲的是,@LieRyan“应该不超过 10 秒”,这大约是当今机器中模拟大小C++项目的时间。
29赞 3 revs, 2 users 73%eggsy84 #6

为此添加更多信息。

我最近将我的 Ubuntu 安装升级到 Ubuntu 10.04 LTS (Lucid Lynx),这反过来又将我的 Java 版本更新为:

Java version "1.6.0_20"
Java(TM) SE Runtime Environment (build 1.6.0_20-b02)
Java HotSpot(TM) 64-Bit Server VM (build 16.3-b01, mixed mode)

现在模拟器(虽然需要一段时间才能启动)似乎比以前运行得更快。

人们升级他们的 JVM 可能是值得的。

评论

0赞 9/8/2011
在同一台机器上,64 位 Java 比 32 位 Java 快(~2 倍)。
16赞 Lena Schimmel 11/2/2011
我不明白为什么模拟器速度应该取决于 Java 版本。仿真器不是用 Java 编写的,也不在 JVM 上运行。
0赞 djangofan 12/12/2011
我使用的是 64 位 Oracle Java 1.6.0_26,我的模拟器比还慢......它很痛苦。Core2Quad,64 位 Java+Ubuntu 11.10,8GB 内存。
0赞 Rolf 5/26/2014
如果它不是用 Java 编写的,也不在 JVM 上运行,那么为什么它需要 Java(也不是任何版本的 Java!
113赞 5 revs, 5 users 27%andgps #7

您可以使用以下命令创建模拟器.bat 来启动模拟器。它会更快地开始。

emulator.exe -cpu-delay 0 -no-boot-anim @<avd name>

或者在 Unix(Mac 或 Linux 版本)上:

emulator -cpu-delay 0 -no-boot-anim @<avd name>

评论

0赞 Timothy003 6/11/2011
添加可将启动时间缩短约 38%。谢谢!-no-boot-anim
3赞 Ivan Chau 6/26/2015
(安卓工作室)选择“运行”>“编辑配置...”。在“运行/调试配置”对话框的左侧面板中,选择或创建配置。在“目标设备选项”下,选择“AVD”。在“模拟器”选项卡中,输入“其他命令行选项”字段-no-boot-anim
21赞 2 revs, 2 users 67%Stuart Rackham #8

我在加载了 Eclipse (3.6.1) 的 Xubuntu 10.04 VirtualBox 3.2.12 客户机上运行的 Intel Core i7 920 2.67 GHz CPU 上,模拟器 (SDK v8.0) 加载时间断断续续,最多三分钟。我将 VirtualBox 客户机内存从 1024 MB 更改为 2048 MB,从那时起,我再也没有遇到过缓慢的情况(加载时间一致为 33 秒,CPU 负载一致为 20%)。Eclipse 和模拟器都是内存消耗者。

18赞 2 revs, 2 users 71%Peter Mortensen #9

我注意到我的模拟器(Eclipse 插件)因我的 Nvidia 显卡抗锯齿设置而显着减慢。从图形菜单中删除 2 倍抗锯齿并将其更改为应用程序控制,使其响应速度更快。它仍然很慢,但比以前更好。

36赞 2 revs, 2 users 73%androidev Alex #10

Android 模拟器版本 9 具有新的“快照”功能。您可以保存模拟器的状态(制作模拟器的映像),并避免在启动模拟器时启动。

1469赞 10 revs, 8 users 44%Vikas Patidar #11

更新

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

单击“模拟器编辑”按钮,然后单击 。然后启用如下图所示。Show Advanced SettingQuick Boot

Quick boot

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

此外,我还增加了导致非常快速的模拟器。Device RAM Size1024

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

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

Android emulator with save snapshot feature.

从快照启动模拟器。

Launching the emulator from the snapshot.

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

使用ssd硬盘的影响太大,我建议使用更合适的内存(8或更高)

评论

23赞 Mark Bakker 5/10/2011
当您更新现有设备时,请从快照中擦除首次启动时的用户数据
16赞 zhongshu 7/16/2011
我将 AVD 设置为这样,但在重新启动 AVD 时似乎仍然很慢,为什么?
9赞 Vikas Patidar 1/2/2012
@Peter Ehrlich :只需转到 Android SDK 和 AVD 管理器>窗口,然后从列表中选择要启动的 AVD,然后单击右侧窗格中的“开始”按钮。它将打开您想要的相同。
3赞 awe 8/6/2013
设置 1024 时出现“无法分配内存”。它还在配置窗口底部显示一条警告:“在 Windows 上,模拟大于 768M 的 RAM 可能会失败,具体取决于...”我尝试将其设置为 770,然后它起作用了。它无法将其设置为 800。
5赞 Vikas Patidar 11/22/2013
@ Msmit1993:您可以将基于 Intel x86 的模拟器与 HAX 工具一起使用。相信我,您会惊讶于模拟器比您的实际设备更快。
10赞 3 revs, 2 users 70%OldNoob #12

在 3.4 GHz 四核 6 GB RAM Windows 7 上,模拟器速度慢得惊人! 我通过模拟器下载,安装它并将其设置为默认启动器。它使我的仿真速度翻了一番!屏幕加载更流畅、更快。它似乎没有在 2.1 或 2.2 中下载,只在 2.0 中下载。Launcher-Pro.apk

22赞 2 revs, 2 users 67%Peter Mortensen #13

开发了一段时间后,我的模拟器变得非常缓慢。我选择了擦除用户数据,效果要好得多。我猜加载您部署的每个 APK 文件需要时间。

604赞 8 revs, 5 users 35%Pehat #14

试 Android x86。它比 Google Android 模拟器快得多。请按照下列步骤操作:

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

评论

6赞 Alex 5/20/2011
所以我连接了。如何使屏幕垂直?我在任何地方也看不到手机硬件按钮。
4赞 kakopappa 7/26/2011
只是为了提醒你们,如果您想在模拟器中使用鼠标,则需要在设备菜单中启用鼠标集成!
13赞 Matthew Groves 9/8/2011
请注意,如果您使用的是特定于 ARM 的任何内容(例如 Android 的 Mono),它将无法在 Android x86 上运行。
11赞 Riz 10/16/2011
对我来说,netcfg 显示 lo 127.0.0.1 255.0.0.0 0x00000049 这里是我应该在 adb 命令中提到的 127.0.0.1 IP 吗?它显示“无法连接到 127.0.0.1:5555”请帮忙。
2赞 SMUsamaShah #15

尝试缩小模拟器,它使它更快一点,即使它没有,它真的感觉更快。

31赞 2 revs, 2 users 64%Peter Mortensen #16

当前(2011 年 5 月)版本的模拟器速度很慢,尤其是在 Android 3.0 (Honeycomb) 上,主要是因为模拟器不支持硬件 GL——这意味着 GL 代码被转换为软件(实际上是 ARM 软件),然后在 QEMU 的软件中进行模拟。这太慢了。他们正在解决这个问题,并部分解决了这个问题,但没有任何类型的发布质量。

观看视频 Google I/O 2011:Android 开发工具,了解实际操作 -- 跳转到大约 44 分钟。

评论

0赞 baptx 10/14/2019
这是否意味着如果我们购买带有 ARM 处理器的最新 Raspberry Pi,我们将能够使用 Android ARM 模拟器,而不会在 x86 / x86_64 上模拟 ARM 的速度很慢?最新的 Raspberry Pi CPU 和 GPU 是否足以拥有快速模拟器?Google 是否提供 ARM 版本的 Android sdk-tools 才能使用 ARM 模拟器?
5赞 2 revs, 2 users 77%WareNinja #17

我在 Mac 上也有类似的问题。我做了什么;

  • 1) 在模拟器上,设置-显示-> 禁用屏幕方向
  • 2)在Eclipse上,模拟器启动选项-> -cpu-延迟 100

这些在降低 CPU 使用率方面有一些效果(不是大约 40-60%),而不是最终解决方案。 但同样,CPU 使用率不再是 >100%!

3赞 2 revs, 2 users 50%Paul Taylor #18

我只是采用了默认的 Android 3.1,它非常慢,但自从我意识到我的代码与 Android 2.3.3 兼容后,我就切换到了它。它的速度快了大约 50%,而且模拟器看起来更像我的手机,并且永久显示键盘,以便更易于使用。

42赞 8 revs, 3 users 77%Timothy003 #19

模拟器在空闲时似乎会自行减慢速度。通过快速将鼠标悬停在侧面的按键上并观察点亮响应,可以明显看出这一点。作为解决方法,我在启动模拟器时传递给 QEMU。您可以创建一个批处理文件来为您执行此操作:-icount automy_avd.bat

emulator @my_avd -no-boot-anim -qemu -icount auto
  • @my_avd-- 启动名为“my_avd”的虚拟设备
  • -no-boot-anim-- 禁用动画以加快启动速度
  • -qemu args...-- 将参数传递给 qemu
  • -icount [N|auto]-- 启用虚拟指令计数器,每条指令有 2^N 个时钟周期

这使得动画变得流畅,并加快了十倍。adb install

评论

0赞 Pacerier 10/27/2011
为什么 iCount Auto 让它更快?
0赞 Ajay 12/31/2011
谢谢。-no-boot-anim 似乎确实可以更快地启动 android!
0赞 Mohsen Afshin 8/25/2013
令人 印象 深刻。。。。具体来说,我被非常低的“adb”传输速度困住了。现在它真的很快,就像 x86 映像一样快。谢谢
0赞 kta 3/11/2015
我正在使用eclipse。您知道如何在我的环境中设置这些选项吗?
1赞 Timothy003 4/6/2015
@MSS我不知道......我已经好几年没有使用 Android 模拟器了。不好意思!
14赞 Timothy003 #20

较旧的 Android 版本运行速度要快得多。当我使用上网本时,我使用 Android 1.5(API 级别 3)。不过,也有一些缺点——您的应用程序需要支持较旧的平台(显然),而 ndk-gdb 需要运行 Android 2.2(API 级别 8)或更高版本。但无论如何,定期针对旧平台测试应用程序是个好主意。

5赞 2 revs, 2 users 91%Corey Trager #21

您需要更多内存。

这就是我这么说的原因:

我在 Windows 上使用 VirtualBox 作为来宾运行 Ubuntu 10.10。我在 VM 上安装了 Eclipse 和 Android SDK。我的物理盒子有 4 GB 的内存,但当我第一次配置 Ubuntu 虚拟机时,我只给了它 1 GB。模拟器大约需要 15 分钟才能启动。然后,我更改了配置,为 VM 提供了 2 GB,模拟器在不到一分钟的时间内运行。

评论

0赞 Zorb 6/3/2014
我在 i16 中有 1333Gb 5 Ram,带有悲伤的磁盘,它的速度非常慢。问题不在于RAM:-(
0赞 Anubian Noob 1/6/2015
如果你给它太少,问题就出在内存上。但回报递减。4gb 和 5gb 之间可能没有太大区别。
0赞 gumuruh 5/2/2015
如果我们只遵循 Windows 默认设置来allocation@Corey该虚拟内存怎么样?
36赞 2 revs, 2 users 86%Filip Dupanović #22

您可以在 Google I/O 2011:Android 开发工具演讲中查看模拟器问题,从 0:40:20 开始。

模拟器运行缓慢,因为整个 Android 环境在模拟硬件上运行,并且指令也在模拟的 ARM 处理器上执行。

主要的瓶颈是渲染,因为它不是在任何专用硬件上运行,而是通过软件渲染来执行的。减小屏幕尺寸将大大提高模拟器性能。获得更多/更快的内存无济于事。

他们当时提到,他们正在开发一个接口,允许模拟器通过主机硬件传输某些指令,因此最终,您将能够利用桌面硬件的原始功能来利用模拟器的性能。

7赞 2 revs, 2 users 72%Andrei #23

我尝试从 Eclipse(Indigo 和 Android 1.5,无 Snapshot)启动模拟器,45 分钟后我停止了它,因为什么也没发生。

统计数据: Phenom Quad @2.6 MHz with 4 GB DDR2 Corsair Dominator @800 MHz.AVD 位于 SSD 驱动器上,模拟器位于 7200 RPM HDD 上。

我使用该选项手动启动模拟器,并在 30 秒内加载。:)-no-boot-anim

在 CMD 中,导航到文件所在的文件夹并键入emulator.exe

emulator.exe @<YourAVDFromEclipse> -no-boot-anim

该文件位于“工具”下的 Android SDK 文件夹中。emulator.exe

在 Windows 中,您可以在 下找到 Android 虚拟设备 (AVD)。C:\Users\<NAME>\.android\avd

这些项目从 Eclipse 内部运行,针对您启动的 AVD,显示得非常好:D

评论

0赞 Andrei 1/17/2012
我很想知道为什么我被否决了。这在第二台开发机器上对我有用(一台带有 core2 和 3GB RAM 的笔记本电脑,带有 5200 rpm HDD)
3赞 2 revs, 2 users 57%Sag-e-Attar Junaid Atari #24

在选择 VD 并单击编辑中,将分辨率设置为小,因为您可以阅读 VD 上的文本。AVD Manager

我使用 800x600 像素,RAM 设置为 512 MB,它就像一个魅力,无需大量使用 CPU 时间。

52赞 3 revs, 2 users 67%Jokin #25

从 Android SDK 工具修订版 17 开始,模拟器可以使用图形加速和 CPU 提供的扩展来提高效率。先决条件、完整配置和用户说明位于:

http://developer.android.com/guide/developing/devices/emulator.html#acceleration

要启用 GPU 加速,请从命令行运行模拟器,或在 AVD 配置中将“-gpu on”添加到其他模拟器命令行选项中。

emulator -avd <avd_name> -gpu on

要使用 CPU 机器扩展,您必须安装驱动程序(注意,因为它可能与现有的 VirtualBoxVMware 驱动程序冲突)。安装后,只要您使用基于 x86 的 AVD,它就会自动使用。

评论

0赞 gak 4/13/2012
我自己才发现这一点。使模拟器几乎像真实设备一样运行!
0赞 mav 11/6/2012
请注意,要使用 GPU 加速,您必须使用 Android 4.0 或更高版本。此外,使用当前的工具,您不能同时使用快照和 GPU 加速,您必须选择(我个人更喜欢 GPU 加速和缓慢的模拟器启动)。
46赞 micha #26

Android SDK rev. 17 支持使用 AMD 和 Intel 虚拟化技术的虚拟机加速。

此功能可以大大提高模拟器的性能!

有关更多详细信息,请参阅 Android 模拟器文档中的以下部分:配置虚拟机加速

不要忘记为您的操作系统安装适当的驱动程序:

安装驱动程序并下载 Android X86 系统映像(如文档中所述)后,您应该能够使用 x86 映像创建新的 AVD:

例如:

  • 目标:Intel Atom x86 系统映像 - API 级别 10
  • CPU/ABI:Intel Atom (x86)

评论

0赞 Amir Ali Akbari 7/18/2013
不幸的是,目前 AMD-V 仅在 linux (SDK rev 17) 上受支持。
0赞 Lcsky 12/5/2013
英特尔 HAXM 使我的 x86 AVD 比以前快了 200%~300%!伟大!
6赞 Stephan Tual #27

Android ADT 18 现在包含一个启用 GPU 的(测试版)选项(只需从 AVD 属性中启用 GPU 加速即可)。它产生了巨大的变化,甚至 ICS 现在也感觉相对舒适。

5赞 ambit #28

我注意到模拟器在一段时间内变慢。因此,可以删除速度非常慢的模拟器,并在 AVD 管理器的帮助下创建一个新模拟器。我已经尝试了几次,效果很好。

132赞 11 revs, 4 users 71%James Wald #29

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

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

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

然后开始:

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

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

HAX 正在工作,仿真器在快速虚拟模式下运行

否则,您可能会看到以下错误:

HAX 不工作,仿真器在仿真模式下运行 仿真器:
无法打开 HAX 模块

  • 使用 GPU 仿真。在撰写本文时,在使用 GPU 仿真时,您不能使用 Snapshot 选项。确保 GPU 仿真设置为“yes”。

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

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

通过这些设置,软件键盘不再显示,屏幕上的后退键、菜单键和最近使用键也不再显示。这似乎是当前 ICS Intel x86 系统映像的限制。您将需要使用键盘快捷键

在 Mac OS 上,您需要按住 + 才能使用 - 键。可以使用 control + 箭头键执行向上/向下/向左/向右翻页。fncontrolF1F12

评论

0赞 James Wald 6/14/2012
使用带有 Intel HAXM 的虚拟机时要小心。显然,如果系统内存耗尽,虚拟环境可能会损坏。
0赞 sulai 10/15/2012
android-dev.ro/web/guest/home这是在 Eclipse 中设置 HAXM x86 AVD 的另一个很好的分步说明。此外,它还解释了如何设置 Google API。
2赞 jayarjo 12/10/2012
不确定这是否是我做错了什么,但我严格按照指南进行操作并得到:“HAX 正在工作,模拟器以快速 virt 模式运行”,就在设备启动之前,但是......它实际上比原始 ARM 版本加载得更慢。我在 Mac 上,CPU 支持 VT。
4赞 Tony 2/10/2013
这是正确的答案。我安装了 Intel x86 处理器并启用了 GPU。模拟器在这些设置下反应灵敏且流畅。最后!如果您在 Windows 或 Mac 上需要帮助进行设置,请告诉我。阿迪奥斯全部
2赞 gerrytan 3/14/2013
感谢您,在 Windows 7 Pro、intel core i7 3770 上进行了测试,它可以正常工作。在 Windows 上,只需安装英特尔硬件加速执行管理器 (HAXM),它就会自动启动。只需使用 Intel Atom x86 创建 AVD 并确保选择“使用主机 GPU”
5赞 2 revs, 2 users 57%sandalone #30

在撰写本文时,最快的模拟器是 Android SDK 附带的内置 x86 模拟器。您可以在创建虚拟机的 AVD 管理器中找到它们。只需选择其中任何一个,然后选择 CPU 类型(选择 x86 以获得最佳性能)。它将和你的机器一样快。

适用于 Android 4.0 和 4.0.3 的最新此类机器可以在 Giving your Android Emulator a Boost: Building Android ICS with Goldfish & x86 KVM support on EC2 - TestObject 中找到。

注意:这仅用于开发目的。若要测试性能,仍必须使用真实设备或在具有 ARM CPU 的模拟器上进行测试。

2赞 2 revs, 2 users 50%yrk #31

启用快照可能不会使其在首次运行时更快;不要选择大的SD尺寸。在第一次运行时将 SD 卡大小调整为 100 MB。

2赞 2 revs, 2 users 85%conners #32

为了快速测试(<1 秒),使用 buildroid,将 VirtualBox 的第一个网卡设置为“仅主机网络”,然后运行

C:\Program Files (x86)\Android\android-sdk\platform-tools>adb connect *.*.*.*:5555
connected to *.*.*.*:5555

(^)DOS / bash (v)

# adb connect *.*.*.*:5555
connected to *.*.*.*:5555

哪里*。*.* .* 是您通过单击 buildroid 主屏幕中的 buildroid 应用程序获得的 buildroid IP 地址。

22赞 6 revs, 3 users 75%Ahmad #33

好吧,既然有人建议将 Android x86 作为替代测试模拟器,我也会介绍我最喜欢的。这可能不是每个人的选择,但对我来说,这是完美的!

使用 Bluestacks 播放器。它运行 Android 2.3.4,非常流畅和快速。有时它甚至比普通设备更快。唯一的缺点是,您只能在 API 级别 10 和一种屏幕尺寸上测试应用程序,但它非常适合测试它是否正常工作。只需通过运行adb

adb connect 127.0.0.1 

编译后,它会立即安装。考虑到我有一个相当普通的计算机硬件(双核和 4 GB 的 RAM),这非常令人印象深刻。

评论

0赞 nesimtunc 6/3/2013
真的非常快!如何根据 7 英寸 (800x480) 平板电脑等要求对其进行修改?我尝试更改应用程序大小,但它已经是平板电脑了。
0赞 Rolf 5/26/2014
我想你的意思是“流畅而快速”:)无论如何,谢谢。不错的提示,可惜它运行Android 2.2
2赞 Ahmad 5/26/2014
@Rolf 哦,对了,哈哈:)然而,这个答案已经过时了。您应该查看 Genymotion。好了。
5赞 2 revs, 2 users 67%Peter Mortensen #34

我坚持您现在安装 BlueStacks,因为它的工作方式与模拟器相同,具有许多其他功能(例如,它可以访问 Android Market)。此外,您可以以极高的性能速度直接从 Eclipse 运行应用程序到 BlueStack 设备/仿真器。只需几分之一秒即可将您的应用程序从 Eclipse 运行到 BlueStack 模拟器。

评论

0赞 Bruno Bieri 9/21/2012
使用 BlueStacks 测试应用程序:forum.xda-developers.com/showthread.php?t=1303563
4赞 Zeeshan Mirza #35

通过转到 windows-->首选项-->常规-->启动和关闭,删除启动时某些插件的不需要激活。还要确保你没有在任何视图中使用这些插件

Eclipse 不是文字处理器。最好禁用拼写检查。禁用拼写检查将通过转到 Windows 来减轻 eclipse 负担-->首选项-->常规-->编辑器 --> 文本编辑器 - >拼写

当 eclipse 构建项目时,它将删除所有输出文件夹并重新构建由其他编译器构建的类。我们可以禁用此类功能,因为删除输出文件夹和重建需要一些时间。转到Windows-->首选项-->Java-->编译器-->构建

禁用对您用处不大的标签装饰也将帮助您获得一些性能。转到Windows-->首选项-->常规-->外观-->标签装饰

关闭不需要的项目并使用工作集选项从一组项目顺利移动到另一组项目。

如果您不需要 Eclipse 自动构建,也可以禁用它。转到项目-->自动构建(取消选中)

不要在编辑器中打开大量选项卡。最好有大约 20 个标签。定期关闭未使用的选项卡。要打开资源,我们始终可以使用 ctrl+shift+R 和 ctrl+shift+T(java 资源),而不是打开很多选项卡

禁用不需要的插件。完整的 J2EE eclipse 版本有一个禁用/卸载插件的选项。转到帮助-->软件更新-->管理配置。右键单击任何已安装的插件以获取禁用选项。如果此选项不可用,请转到 Windows-->首选项-->功能并选中经典更新,以启用经典更新。现在,管理配置选项应该在帮助菜单中可用

18赞 2 revs, 2 users 67%Vinayak B #36

要减少模拟器的启动时间,您需要在启动模拟器之前选中“禁用启动动画”。请参阅 Android 文档

如果不知道,则无需在每次运行/调试应用时都关闭模拟器。如果您在 Run/debug 已打开时单击它,您的 APK 文件将上传到模拟器并立即启动。模拟器只有在第一次启动时才需要令人讨厌的很长时间。

以下是一些加速 Android 模拟器的提示: 如何将 Android 模拟器的速度提高多达 400%。

26赞 2 revs, 2 users 82%Harvey Darvey #37

这是我注意到的,根本没有人提到它。

将所有可用处理器分配给模拟器

您可以尝试以下方法。它确实为我加快了模拟器的速度,尤其是在加载期间。我注意到模拟器仅使用可用 CPU 的单个内核。我将其设置为使用所有可用的处理器。

我使用的是 Windows 7。

当Android模拟器启动时,打开任务管理器,在“进程”选项卡下查找“emulator-arm.exe”或“emulator-arm.exe *32”...右键单击它,选择“处理器关联”,然后根据需要将任意数量的处理器分配给模拟器。

Enter image description here

评论

3赞 Rocco The Taco 1/12/2013
这在我的 Windows 7 机器上加快了速度
0赞 Eng.Fouad 2/18/2013
如何在 Windows 8 上做到这一点?
0赞 Harvey Darvey 3/1/2013
我想您可以使用 Windows 8 任务管理器来做同样的事情吗?对不起,我目前没有 Windows 8。
3赞 A.Grandt 1/8/2016
在 Windows 10 上,我假设 Windows 8 也是如此,您必须转到 中的选项卡才能执行此操作。尽管就我而言,所有 4 个内核都已被选中。我希望它们也允许 AMD 设备运行 x86 映像,即使没有 HAXM 驱动程序,它们也应该比 ARM 映像更快。DetailsTask Manager
5赞 3 revs, 3 users 65%zencodism #38

我只是注意到一些我无法解释的事情,但是嘿,对我来说它有效!

无论如何,我都是从源代码编译 Android,内置模拟器在几秒钟内启动(我的机器是双核 AMD 2.7 GHz),一分钟后,第一次运行时可能是两分钟,系统就启动了。另一方面,使用 Eclipse ADT 捆绑包会导致模拟器启动半小时。无法接受。

在这里有效的解决方案(我没有办法在其他机器上测试它,所以如果你愿意,请测试和验证):

  • 在计算机上下载并构建 Android SDK。这可能需要一些时间(你知道,整个系统的编译很烦人)。说明可以在这里找到:
    1. 初始 化
    2. 下载
    3. 构建(我将命令更改为“lunch sdk-eng”和“make sdk -j4”;除此之外,构建技巧很有用,尤其是关于ccache和-jN选项)
  • 完成后,运行“android”,SDK 管理器应该会出现。下载工具和所需的平台包。如果未找到命令,请尝试重新运行“.build/envsetup.sh“和”lunch sdk-eng“命令来设置路径;它们在退出终端会话后丢失。
  • 运行“emulator”以检查其启动速度。对我来说,它比 Eclipse 捆绑的要快得多。
  • 如果可行,请将 Eclipse 指向您刚刚编译的 SDK。左侧窗格中的 Window-Preferences-Android,>选择 SDK 位置。它应该是带有“tools”子目录的目录和“platforms”子目录中的东西。对我来说,这是<source base dir>/out/host/linux-x86
  • 应用/确定,如果需要,重新启动 Eclipse。如果它没有抱怨任何事情,请运行您的 Android 应用程序。就我而言,模拟器在几秒钟内启动,并在一分钟内完成启动。还有一点延迟,但对我来说完全可以接受。

此外,我同意从快照运行并将状态保存到快照。我的建议只涉及模拟器启动时间。我仍然不知道为什么默认情况下它这么长。无论如何,如果这对您有用,请尽情享受:)

1150赞 10 revs, 9 users 58%Prashanth Sams #39

重要提示:请首先参考 Intel 关于 VT 的列表,以确保您的 CPU 支持 Intel VT。

HAXM 加速了缓慢的 Android 模拟器

HAXM 代表 - “Intel Hardware Accelerated Execution Manager”

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

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

HAXM

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

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

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

Enter image description here

  • 下载 x86 Atom 系统映像英特尔硬件加速执行管理器驱动程序。如下图所示:

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

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

Install .exe or .dmg

  • 创建新的 x86 AVD:如下图所示:

Create AVD

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

评论

19赞 Todd Price 2/7/2013
写得好。如果您正在寻找 Google 的文档(包括一些针对 Mac 的差异),可以在此处找到它们:developer.android.com/tools/devices/emulator.html#accel-vm
107赞 Kshitiz Sharma 2/18/2013
在 Linux 上不起作用。
14赞 Rhyous 4/29/2013
我尝试了这个解决方案。成功了。但是,我使用 MonoDroid 安装,一分钟都找不到 IntelHaxm.exe。它在这里:C:\Users\jbarneck\AppData\Local\Android\android-sdk\extras\intel
11赞 Reda 7/10/2013
哇,感激不尽!简直不敢相信我一直在和缓慢的模拟器一起生活。我以为这很正常。不过,我真的很怀念快速启动时间,难道没有办法在 GPU 加速的同时启用快照吗?
3赞 user1619275 9/12/2013
这很好用。感谢 lor 分享这个!启用“使用主机 GPU”时,模拟器会剧烈闪烁,但在未启用主机 GPU 的情况下,它现在的速度也非常快。
3赞 2 revs, 2 users 67%Slade #40

现在在 ADT 21 上,它为快速仿真器提供了更多选项......您应该使用 512 MB RAM、较低的 CPU 时间、设备选择和较高的 VM 堆大小。为了获得更好的结果,您应该在 CPU/ABI 中使用 Intel Atom...使用 Snapshot 和 CPU Host 可能不会提高模拟器的速度,但有一些有用的用于其他目的。

3赞 3 revs, 2 users 69%Satya Prakash #41

我昨天刚开始使用 Windows 7,遇到了同样的问题。我发现并对我有用的最简单的解决方案是在模拟器中使用低配置设备。我使用Nexus One而不是Nexus 7,并在Android虚拟设备中选择设备的快照。

而且,同样重要的是让模拟器保持打开状态。它适用于 Eclipse 和 Android Studio。

在窗口中,它表示当 RAM 大于 ~700 时,快照通常不起作用。因此,选择配置较低的一个可以轻松帮助测试 Hello World,然后开发您的应用程序。稍后,我们可以在高端设备上进行测试。

对我来说,虚拟化支持不起作用,因为我的硬件不支持它。

322赞 4 revs, 2 users 96%blaffie #42

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

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

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

该模拟器速度快且响应迅速。

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

评论

53赞 Eurig Jones 9/15/2013
Genymotion 是迄今为止开发/测试应用程序的最佳方式。它不仅比传统模拟器更快、更好。它也比真实设备更快。我将其用于 99.99% 的部署,因为这意味着我可以在很短的时间内看到结果。这也意味着我可以使用 OpenGL ES 和其他在普通模拟器上不可用的东西。
2赞 Apfelsaft 5/7/2014
较新版本的 Genymotion 不包括 GooglePlay 服务。此链接显示了如何手动安装它们: forum.xda-developers.com/showthread.php?t=2528952
2赞 milosmns 3/29/2016
没关系,直到您重新安装 VBox 或他们使用的任何工具,然后它停止工作 - 卸载无济于事。但它在持续的时候很好
5赞 Zain Ali 9/12/2016
Genymotion不再是免费的了(就像我上次使用的时候一样),不确定这是否仍然是开发者的最佳选择
6赞 blaffie 11/2/2016
自 Android Studio 2 以来,模拟器已改进了 10 倍。它具有许多功能并且性能良好。
3赞 3 revs, 2 users 80%Trikaldarshi #43

使用 Android x86 可提供比 Android 模拟器更好的生产力。

在使用 Android x86 4.2 时,与 Android 模拟器相比,它提供了极快的调试。配置速度快很多倍

它适用于最新的 Android X86 4.2 (Jelly Bean) 和 VirtualBox

我找到了与互联网和亚行连接的不同方式。

步骤: 1 适配器的选择

案例 1:仅 Internet {NAT 适配器}

最简单的解决方案是使用 NAT 适配器,如果主机连接到 Internet,它将直接将您连接到 Internet,但您将无法通过此设置获得 ADB 连接。

在这里,您将获得一个公共 IP 地址,因此您无法连接到主机。

NAT Adapter

案例 2:仅 ADB(仅主机适配器)

最简单的解决方案是仅使用仅主机适配器。

Host Only Adapter Settings

注意:由于 DHCP 服务器设置,默认的仅主机适配器可能无法工作。创建新适配器或为现有适配器运行适配器。HostOnlyAdapterDHCP server

案例 3:适用于 ADB 和 Internet(网桥适配器)

在这种情况下,您必须小心。

如果您使用 LAN 进行 Internet 连接,则应将网桥适配器与以太网卡一起使用。它将为您提供一个本地 IP 地址,虚拟机将使用主机连接到 Internet。

或者,如果您使用的是 Wi-Fi,只需选择 Wi-Fi 适配器即可执行相同的操作。

对于其他类型的连接,您应采用相同的方式。

Bridge Adapter

步骤: 2 与ADB连接

要检查 IP 地址,只需按 (对于控制台窗口)。(要切换回图形视图,请按 。Alt+F1Alt+F7

您将看到控制台窗口。键入 netcfg

它将显示 IP 地址。

现在移动到您的主机,运行命令提示符,然后移动到目录。adb

type adb connect <your IP address>

adb 连接 192.168.1.51

注意:如果 ADB 未运行或未响应,您可以执行以下操作。

adb kill-server

adb start-server

您可以检查连接到 ADB 的设备:

adb devices

对于原始问题,请单击此处

3赞 2 revs, 2 users 56%Peter Mortensen #44

在创建新的 Android 虚拟设备时,尝试减小模拟器的屏幕大小。

我已经看到,与 AVD 管理器中提供的默认选项相比,这将非常快速地启动模拟器。

8赞 2 revs, 2 users 60%Peter Mortensen #45

如果您有 Intel CPU,请安装 Intel Hardware Accelerated Execution Manager

然后在“模拟器设置”中将其指定为模拟器的 CPU。当我在Core i7 CPU上做这件事时,大约需要10分钟。现在它在 15 秒内打开。

评论

0赞 gustavogbc 6/16/2017
“模拟器设置”是什么意思?
3赞 2 revs, 2 users 67%Peter Mortensen #46

尝试减小屏幕尺寸,也许您应该考虑使用 Ubuntu。我遇到了同样的问题,不知何故,我在使用 Linux 时在同一台 PC 上的模拟器的运行速度提高了五倍。

评论

0赞 12/13/2013
屏幕尺寸与它无关,根据我的经验,Ubuntu 和 Windows 7 一样慢。
1赞 Rolf 5/29/2014
我认为屏幕尺寸会影响速度。更多的像素 = 需要更多的计算和更多的 RAM。你怎么能这么确定“屏幕尺寸与它无关”?
62赞 10 revs, 6 users 70%JRE.exe #47

模拟器速度很慢。你真的无能为力,但模拟器还有其他选择。

  1. Genymotion - 首选

  2. 虚拟盒子

  3. BlueStacks的

  4. YouWave的

  5. Windows Android 模拟器

  6. 一罐豆子

  7. 安 迪

为了使您的模拟器更快,您可以托管 GPU 并使用更轻的 Android 版本(Android 2.3 (Gingerbread))。 在 Mac 上开发会更好。为什么要使用模拟器,顺便说一句?使用真正的手机更有意义。

评论

0赞 Anurag 11/18/2015
我用过Genymotion,我不得不说它比默认的Android模拟器要快。
0赞 Almo 1/30/2018
“为什么要使用模拟器,顺便说一句?使用真正的手机更有意义。我在工作,我们没有足够的手机可以四处走动。我不是测试人员,所以我没有优先权。
0赞 Martin Zeitler 3/2/2018
模拟器并不慢,但你的机器。建议使用 x86 映像。
0赞 Bhuro 8/27/2018
@Almo,真正的手机是一个不错的选择,但模拟器为您提供了空间,使您的应用程序与不同屏幕中的大多数android版本+设计兼容,...这样,您的应用在使用真实手机进行测试之前,可以减少错误。我个人看到一些设计问题可以通过在不同的模拟器中检查它们来轻松解决......并非所有人都能负担得起至少 1 部不同操作系统和屏幕尺寸的手机......
3赞 radhoo #48

简短的回答:因为 ARM -> x86 指令翻译。模拟器的工作方式与虚拟机类似,虚拟机的任务是启动完整的操作系统,然后运行测试应用程序。ARM -> x86 转换可能非常耗时,对于应用而言较少,但在操作系统启动时则更多(这与复杂性和涉及的指令数量成正比)。

一些人建议在 x86 模拟器上运行代码。这意味着您无需加载基于 ARM 的操作系统,而是加载在 x86 机器上运行速度更快的 x86 变体,因为不需要 ARM->x86 转换。尽管如此,这并不是一个完美的解决方案:

使用 NDK 并打包了为 ARM 编译的本机库 (*.so) 的 Android 应用程序将无法在 x86 模拟器上运行,因此此类程序将无法运行。但是,如果你到了那个地步,开始处理NDK/原生JNI代码,你可能已经对模拟器有了足够的了解。

3赞 2 revsdaylight #49

使用 ADB 实用程序,我发现了一些重要的信息。

模拟器实际上正在运行,但图形界面似乎是问题所在。

当 Android 初始屏幕打开并且您永远等待时,它如下所示:enter image description here

模拟器实际上正在运行,因为你可以运行以下命令行工具并查看列出的进程:

adb -s emulator-5554 shell ps 

这将为您提供在设备上运行的进程列表,这似乎卡住了。

我将输出通过管道传递到一个文件,以下是所有正在运行的进程的列表:

USER     PID   PPID  VSIZE  RSS     WCHAN    PC         NAME

root      1     0     696    500   c02ae25a 0805a406 S /init
root      2     0     0      0     c02315a2 00000000 S kthreadd
root      3     2     0      0     c021f9dc 00000000 S ksoftirqd/0
root      5     2     0      0     c022e8d7 00000000 S kworker/u:0
root      6     2     0      0     c022e085 00000000 S khelper
root      7     2     0      0     c022e8d7 00000000 S kworker/u:1
root      255   2     0      0     c02886de 00000000 S sync_supers
root      257   2     0      0     c028935e 00000000 S bdi-default
root      259   2     0      0     c022e085 00000000 S kblockd
root      267   2     0      0     c022e085 00000000 S ata_sff
root      278   2     0      0     c04f610f 00000000 S khubd
root      283   2     0      0     c022e085 00000000 S md
root      297   2     0      0     c022e085 00000000 S cfg80211
root      298   2     0      0     c022e8d7 00000000 S kworker/0:1
root      413   2     0      0     c0283057 00000000 S kswapd0
root      481   2     0      0     c02cd713 00000000 S fsnotify_mark
root      501   2     0      0     c022e085 00000000 S crypto
root      590   2     0      0     c022e085 00000000 S iscsi_eh
root      611   2     0      0     c048aa21 00000000 S mtdblock0
root      619   2     0      0     c048aa21 00000000 S mtdblock1
root      627   2     0      0     c048aa21 00000000 S mtdblock2
root      666   2     0      0     c022e8d7 00000000 S kworker/0:2
root      700   2     0      0     c022e085 00000000 S binder
root      724   2     0      0     c022e085 00000000 S deferwq
root      725   1     624    348   c02ae25a 0805a406 S /sbin/ueventd
root      932   2     0      0     c055236e 00000000 S mmcqd/0
root      939   2     0      0     c0340f30 00000000 S yaffs-bg-1
root      941   2     0      0     c0340f30 00000000 S yaffs-bg-1
root      942   2     0      0     c0340f30 00000000 S yaffs-bg-1
system    943   1     1340   400   c056a35d b76a1eb6 S /system/bin/servicemanager
root      944   1     5540   924   ffffffff b7646c11 S /system/bin/vold
root      947   1     1548   504   c05785ce b766c163 S /system/bin/debuggerd
radio     948   1     6420   1016  ffffffff b76d3c11 S /system/bin/rild
system    949   1     20088  2876  ffffffff b7655eb6 S /system/bin/surfaceflinger
drm       951   1     10480  2920  ffffffff b7585eb6 S /system/bin/drmserver
keystore  954   1     5036   1416  c056a35d b765deb6 S /system/bin/keystore
root      955   1     1324   440   c02d0083 b76b28ab S /system/bin/qemud
shell     958   1     1428   668   c03e9ad9 b767fa76 S /system/bin/sh
root      959   1     4680   304   ffffffff 08063530 S /sbin/adbd
graphics  1012  1     17980  4276  ffffffff b7652eb6 S /system/bin/bootanimation
media     4743  1     25288  6232  ffffffff b75beeb6 S /system/bin/mediaserver
root      4744  1     3944   1164  00000000 b7628976 R /system/bin/netd
root      4770  4744  0      0     c021de78 00000000 Z iptables
root      4771  959   1768   540   00000000 b766fa76 R ps

为了好玩,我运行了以下命令并杀死了“Android”动画:

adb -s emulator-5554 shell kill 1012

初始屏幕变为空白,因此确实发生了一些事情。

我尝试并成功地杀死了其他一些进程,这让我感觉很好,但模拟器似乎仍然没有启动。那好吧。 我正在运行具有 7Gb 内存的 QuadCore i8。还使用此问题中其他帖子中描述的设置运行 haxm。

注意:我在 2014 年 9 月 19 日更新了此内容 - 我了解到模拟器会尝试启动实例但从未启动的这种奇怪行为都与模拟器文件的文件权限有关。由于它们的复制方式,它们被设置为只读,因此模拟器尝试安装并写入其“虚拟磁盘”,但它的“虚拟磁盘”实际上是我的操作系统设置为只读的文件或文件集,因此它失败了。这些故障会导致模拟器永远无法启动。我将文件设置为完全访问权限,模拟器在创纪录的时间内启动。

2赞 2 revs, 2 users 75%Peter Mortensen #50

在模拟设备时,尝试使用 Intel X86 Atom Storage Image,与使用基于 ARM 的映像相比,启动速度相对较快。

需要注意的另一件事是,根据您的系统配置,运行具有 1.21 GB RAM 的 Android 模拟器可能会带来缓慢的体验,因为模拟器需要高达一定百分比的 RAM 用于模拟设备,不要忘记 ADT 使用的 RAM。

尝试使用 2.1 - 2.3.3 的系统映像,以获得至少可运行的体验。另外,不要忘记保存到快照以加快加载速度。虽然第一次加载可能需要一些时间。但是保存到快照肯定会节省一些时间。

13赞 2 revs, 2 users 77%mira #51

对于初学者来说,简单易行的解决方案。我尝试了很多方法,并停止了将Genymotion与Eclipse结合使用。Genymotion只是向Eclipse添加一个虚拟设备。

一步一步:

  1. 这里下载包含 VirtualBox 的 Genymotion。
  2. 在 VirtualBox 中安装此软件包。
  3. 这里将插件安装到 Eclipse 中。
  4. 启动GenyMotion并创建要使用的虚拟设备,然后启动它。
  5. 在 Eclipse 中,转到 Window -> Preferences -> GenyMobile -> GenyMotion,并将路径设置为 GenyMotion(在我的例子中为 C:/ProgramFiles/GenyMobile/Genymotion)。
  6. 在 Eclipse 中单击要启动的项目名称。使用“运行方式”启动应用程序。在设备列表中,您应该会看到模拟设备。
  7. 你来模仿你想要的。

就我而言,这个解决方案是唯一的快速解决方案。Eclipse 中没有一个模拟器运行得如此之快,而且每个设置都非常慢。只有这个解决方案几乎可以实时工作。我可以推荐(笔记本 i3,2.6 GHz)。

4赞 2 revs, 2 users 55%Buzz #52

这是对我有用的东西:

  • 将 AVD RAM 设置为 512 MB
  • 将 SD 卡内存设置为 10 MB
  • 设置较大的 SD 卡内存大小是导致 AVD 速度缓慢的最大原因之一。
0赞 2 revs, 2 users 77%zackygaurav #53

我遇到了同样的问题,但我通过从 中删除文件夹来修复它。.androidC:\Users\User\

现在,每次启动 Eclipse 或 AVD 时,我都会删除该文件夹。之后,我的 AVD 会在 20 到 30 秒内启动,模拟器运行平稳,延迟可以忽略不计。

可选:如果问题仍然存在,请尝试克隆NEXUS S 从价证券(AVD)。

评论

0赞 Peter Mortensen 3/1/2015
什么是从价印花税?你是说亚行吗?
0赞 PeeHaa 3/18/2015
Android 虚拟设备@PeterMortensen
29赞 3 revs, 2 users 71%John Kemnetz #54

一个新选项是适用于 Android 的 Visual Studio 模拟器 - 它速度快,Hyper-V,x86即使没有 VS 也可以免费下载

评论

0赞 Robert 7/21/2015
它仅适用于 Windows 吗?
0赞 John Engel-Kemnetz 7/23/2015
是的,它使用 Hyper-V,它仅在 Windows 上提供。
0赞 Hong 8/2/2015
我同意这个说法 - 地球上最好的模拟器。在使用其他模拟器多年后,我是一名目击者。它比其他的要好得多,尤其是在调试方面。Genymotion 还不错,但它需要与 Hyper-V 冲突的 VirtualBox。这个答案需要放在首位。
2赞 James Parsons 8/7/2016
@JohnKemnetz我只能在 Windows Professional 或更高版本上添加。
21赞 5 revs, 3 users 87%Anil8753 #55

Android 模拟器速度很慢。运行时需要 800MB 内存。 如果您使用的是Windows,则可以使用Microsoft Android模拟器。它很棒,为您提供的功能比 Android Studio 模拟器更多。最重要的是,它速度很快(仅消耗 13MB)。 它附带 Visual Studio 2015 Technical Preview。我正在使用它并对此感到满意。我下载并安装了整个 VS 包,我需要看看如何仅安装 VS Emulator。

适用于 Android 的 Visual Studio 模拟器

编辑: 尝试 https://www.visualstudio.com/vs/msft-android-emulator/

评论

0赞 MSS 4/5/2015
你怎么计算伙计?它是一个操作系统,需要大量 RAM 才能运行。和 13 Mb 真的很傻,请再看一遍。
0赞 Anil8753 4/5/2015
@MSS我不知道 VS Emulator 背后的背景历史,但我实际上做到了并找到了我所说的。
0赞 MSS 4/5/2015
也许你弄错了,我的意思是不可能在这么小的 RAM 中模拟真正的 Android 操作系统,而 VS 模拟器必须是 C# 制造的应用程序的简单调试环境,并且可能无法运行标准的 Android 应用程序。
0赞 Anil8753 4/5/2015
是的,我不确定它是真正的完整 Android 仿真还是只是一个轻量级的基本 Android 功能仿真。请试一试。首先运行此模拟器,然后部署您的 Android Studio 应用。
0赞 Anil8753 4/6/2015
我正在使用 Android Studio 开发 android 应用程序,并像其他 ADB 设备一样部署它。试一试
7赞 4 revs, 4 users 40%Revanth Rev #56

为了获得更好的体验,我会推荐 shop.genymotion.com 许可的genymotion。 如果你想测试一下,首先你可以在这里获得genymotion

评论

0赞 Royi Benyossef 4/7/2015
来这里是想说......只错过了2个小时。模拟器不是硬件加速的,主要用于检查屏幕尺寸和外形规格。
0赞 Ajay Pandya 4/8/2015
我不这么认为,要检查我们需要的模拟器的所有分辨率
2赞 Royi Benyossef 4/13/2015
不需要,但该工具的最佳用法 - 是的。
6赞 2 revs, 2 users 67%vishal grover #57

您可以尝试 Genymotion 而不是 android 模拟器。它比安卓模拟器更快更好。

评论

0赞 Sukitha Udugamasooriya 7/14/2015
Genymotion - genymotion.com 我正在使用它。这确实是一个很好的模拟器。安装非常简单。
5赞 2 revs, 2 users 71%Kaveesh Kanwal #58

您可以从此处下载 genymotion 模拟器。这是快速而有效的。

评论

0赞 Bhuro 8/27/2018
当我尝试使用某些 Google API 时,我崩溃了,...
0赞 Kaveesh Kanwal 8/30/2018
无需使用任何第三方模拟器。使用android studio自己的模拟器,它现在非常稳定和快速。
0赞 Bhuro 9/7/2018
但这些是在 Windows 操作系统上使用英特尔处理器的英特尔映像,...AMD处理器呢?和 Linux?
8赞 NooBskie #59

有几件事绝对加快了我的速度,这是

1. 通过选中 AVD 编辑窗口中的“使用主机 GPU”复选框,将渲染过程委托给 GPU。

2. 下载 Intel Atom (x86) 映像,或者如果您是 Windows/Mac 用户,请下载 Intel x86 Emulator Accelerator HAXM

不幸的是,英特尔 x86 映像的问题是您没有获得 Google Apps,它们仅带有 ARM 映像。

这就是Genymotion派上用场的地方

  1. 下载并安装 VirtualBox。对于 Windows 用户,没有必要单独安装 VirtualBox,因为它可以从 Genymotion 站点获得,并与 Genymotion 模拟器捆绑在一起。
  2. 转到Genymotion网站并注册。您将收到一封验证邮件,因此只需单击验证链接即可继续。
  3. 下载并安装 Genymotion 模拟器。
  4. 启动 Genymotion。您可能需要在 Genymotion 设置中配置您的 Android SDK 位置的路径(如果您已将 SDK 安装在非默认位置),则可能需要配置路径。由于这是第一次启动,因此没有设备。单击“添加”并下载新设备。要查看可用设备,请在弹出对话框中输入您的凭据,然后单击“连接”。
  5. 选择设备,然后单击“开始”。

评论

1赞 MaXi32 10/1/2016
Genymotion不再是免费的。
5赞 DineshM #60

现在,我们可以在 Chrome 上使用 ARC Welder 应用程序(适用于 Chrome 的 App Runtime)来测试 Android 应用程序,而不是使用模拟器

0赞 3 revs, 2 users 71%Sofien Rahmouni Virtuel #61

是的,你是对的,因为原生 android 模拟器比 genymotion 等其他自定义模拟器慢得多。 当我运行功能性葫芦 android 测试时,我发现了这一点。

在原生 android 模拟器上,当发生“超时异常”时会产生此问题,因此我转向了解决问题的 genymotion 模拟器。

PS:genymotion模拟器不再是免费的。

30赞 Vipul J #62

试试Genymotion for Android Studio。速度极快!只需安装一次。不再有AVD疼痛。

15赞 2 revsUmar #63

加快 Android 模拟器和应用测试速度的好方法是将 Android Studio 安装或升级到 Android Studio 2.0 版本,然后转到应用程序打开设置/首选项,然后转到构建、执行、部署→即时运行。单击 Enable Instant Run。之后,这将确保您拥有正确的 gradle 插件,以便您的项目与 Instant Run 一起使用。enter image description here

即时运行将如下所示New Run & Stop Actions in Android Studio for Instant Run

但是,Android Studio 现在处于预览阶段,您可以立即试用。

评论

1赞 Arūnas Bedžinskas 4/8/2016
Android Studio 2.0 现在很稳定。即时运行提高了构建速度而不是模拟器速度,请查看更多信息:<android-developers.blogspot.lt/2016/04/android-studio-2-0.html>
0赞 Umer 4/9/2016
新模拟器的运行速度比 Android 以前的模拟器快 ~3 倍。现在,您可以将应用和数据推送到模拟器的速度比推送到物理设备快 10 倍。android-developers.blogspot.ae
1赞 Vamsi Challa 6/9/2016
请注意,当您使用 Instant Run 时,在 5.0 <设备上安装时会出现一些问题。如果您发现您的应用在 kitkat 及以下版本的设备上崩溃,请停用免安装运行并重新构建它。你应该可以走了。
5赞 abissa #64

我建议您使用Android手机进行USB调试开发。与虚拟设备相比,它在测试应用程序时提供了更好的体验和更好的输出。或者您也可以使用其余答案中提到的选项,并且可以使用 Bluestacks App Player,在 Android 设备不可用的情况下,这也是一个不错的选择。

2赞 Umer #65

将您当前的 Android Studio 更新到 Android Studio 2.0 并更新系统映像。

Android Studio 2.0 模拟器的运行速度比 Android 之前的模拟器快 ~3 倍,借助 ADB 增强功能,您现在可以将应用和数据推送到模拟器的速度比推送到物理设备的速度快 10 倍。与物理设备一样,官方的 Android 模拟器也内置了 Google Play 服务,因此您可以测试更多 API 功能。最后,新的模拟器具有丰富的新功能来管理通话、电池、网络、GPS 等。

3赞 2 revsLemuel Adane #66

添加更多 RAM 并使用 SSD 驱动器。根据我的经验,Android Studio 最好使用 SSD 驱动器在 8 到 12 GB 的 RAM 上运行。

评论

0赞 MaXi32 10/1/2016
我有 10GB 内存,并在笔记本电脑上使用 SSD。我的处理器是 i3,带有显卡 Nvidia Geforce 920M。模拟器仍然很慢。
2赞 CyprUS #67

如果可以,请切换到使用 Ubuntu 进行 Android 开发。我切换到 Ubuntu 14.04 LTS 进行 Android 开发,我很高兴我跳了下去。提到的所有步骤对 Windows 上的延迟几乎没有影响。Linux 是您面临的所有问题的正确答案

评论

0赞 Christian 7/1/2016
尽管有这么多反对票,但这是最好的“解决方案”。我 4 年前就这样做了,从那时起我就过着幸福的生活。人们应该在 Windows 上进行测试,而不是在 Windows 上进行开发。
0赞 CyprUS 7/1/2016
@Christian:我想知道为什么投反对票。在 Windows 上寻求解决方案是徒劳的,我知道这一点,因为我已经尝试了所有步骤。
0赞 Christian 7/2/2016
是的。。。在 Ubuntu 上开发时有很多优势......没有要安装的 USB 驱动程序...Eclipse 运行得更快,不再有冻结/挂机......好多了......我想知道为什么 ppl 坚持使用 windows(用于 android 开发)。
4赞 Chintan Soni #68

那些日子已经一去不复返了,那时我们曾经在缓慢的 Android 模拟器上运行项目。今天,Android 模拟器正在服用类固醇。 是的,你听到了。没有其他模拟器能像 Android 模拟器一样快。 你可以去我的博客了解更多详情:

http://androidveteran.blogspot.in/2016/01/android-emulator-multi-touch.html

我已经详细解释了新的Android模拟器。一探究竟。

相信我,它们与您的真实设备一样快。

评论

0赞 Gábor 8/15/2016
好吧,你说这很快?AS 2.1.2,棉花糖,立即下载的最新图像,HAXM,一切。模拟器本身无法在大约 30 分钟内启动,更不用说测试任何内容了......
0赞 Chintan Soni 8/15/2016
@Gábor我可以知道你们的硬件配置吗?
2赞 Gábor 8/15/2016
四核 @ 2,4 GHz,8 GB 内存,具有大量可用空间的 SSD 系统,Windows 10 Pro,AS 2.1.2,HAXM 6.0.3(根据 SDK 管理器)。虚拟设备是由 AVD 管理器创建和下载的 Nexus 5X/6,全新。我无法直接从 AS 运行任何内容,因为它总是在 300 秒时超时。我尝试先启动模拟器并让它运行,但它无法在 25-30 分钟内启动。不冻结,“android”标志一直处于动画状态。启用即时运行。在我的物理设备上运行没有错误。
7赞 huisinro #69

您可以尝试我们的新 Android 虚拟机 Leapdroid,它与原始的 Android 模拟器完全兼容。由于它使用虚拟化技术,而不是仿真,因此它提供了几乎本机速度。此外,我们还使用了一种名为 LeapGL 的新 OpenGL 技术,该技术以原生速度执行 OpenGL 图形。与其他虚拟机相比,我们的虚拟机具有最佳性能。

http://www.leapdroid.com

源代码: https://github.com/leapdroid

Leapdroid 与 Eclipse 和 Android Studio 完全兼容,因为它使用相同的 adb 端口。

2赞 Abdul Samad #70

Android Studio 2.02 已经推出,它有更快的模拟器,如果你想使用第三方,请使用 Genymotion 模拟器,它们非常快

评论

1赞 MaXi32 10/1/2016
Genymotion不是免费的。考虑更改您的答案,否则这只是促销答案。
0赞 Abdul Samad 10/3/2016
它免费供个人使用
1赞 MaXi32 10/4/2016
它不再免费供个人使用。genymotion.com/pricing-and-licensing
1赞 2 revsTapan parmar #71

HAXM 是一种使 intel 处理器的仿真器快速运行的方法 HAXM 是内核驱动程序部分,用户空间仿真器部分基于 QEMU - 这意味着 QEMU 有一个分支使用 HAXM(这个 QEMU 分支非常特定于 android 模拟器(并且似乎也基于旧版本的 QEMU)。

但是,当我使用具有 3 GB RAM 的英特尔酷睿 i4 处理器时,它对速度的影响并不大。所以这对我来说不是一个解决方案。

由于我使用的是 4GB RAM cpu 模拟器,因此 RAM 消耗器变成了 RAM 吞噬器,但为了使其更方便,我更喜欢基于 Android*86 支持的模拟器。随着 android studio 现在引入 Instant-Run 因此,在首次启动应用程序安装后,应用程序安装变得更快,但我总是遇到问题,似乎没有办法摆脱这种情况。

我也使用了 Droid4x,它对我来说非常方便,但我找不到安装不同 api 版本的方法,我将它与 kitkat 一起使用,它比 android 模拟器更快,并且还启用了 VT 支持,所以我找到了另一种方法和一个很好的解决方案,即 Visual Studio 模拟器你可以在这里阅读更多关于它的信息, 我使用的最新产品是 LeapDroid,它真的很强大 在这里查看比较

我更喜欢在 4GB ram PC 上使用真实设备,然后是模拟器。

7赞 T.M #72

我想知道为什么没有人提到作为替代方案。它比原生 Android Studio 模拟器快得多。Visual Studio Emulator

以下是性能比较的链接:https://medium.com/android-news/how-visual-studio-emulator-for-android-can-improve-your-android-development-9e17a6213839#.hlh7ba6ut

enter image description here

更好的是,apk文件甚至gapps(或任何其他可闪存的zip)都可以通过拖放来安装。但是,缺点是它需要仅在 Windows 上可用的 Hyper-V(从 Windows 8 开始也是如此)。其他限制(以及上述描述)和其他详细信息可在此处找到:https://blogs.msdn.microsoft.com/visualstudioalm/2014/11/12/introducing-visual-studios-emulator-for-android/

评论

0赞 PeeHaa 7/12/2016
“我想知道为什么没有人提到 Visual Studio Emulator 作为替代方案。”建议就在这里:stackoverflow.com/a/28417080/508666
6赞 5 revsr3dm4n #73

我的解决方案是 维索尔 。我得到了两个最好的世界。我不会在我的机器上放太多电,但我也可以在屏幕上看到我真正的 Android 设备,这样我就不必伸手去拿它、把手从键盘上移开等。 此外,总有一些功能在模拟器上效果不佳。

有带广告的免费版本和付费版本,与其他解决方案相比,不会破坏银行。

评论

0赞 Andrey Luiz 3/2/2017
不错的解决方案。使用物理设备对内存不足的 PC 来说很好。
0赞 Hendy Irawan 9/30/2017
Vysor free 的分辨率非常低。你几乎看不懂文字。
0赞 r3dm4n 9/30/2017
@Hendy-Ilawa,你有很多选择......速度/分辨率质量
31赞 3 revs, 3 users 79%Amin Rahkan #74

使用 Intel x86 仿真器加速器

首先,安装 Intel x86 仿真器加速器 (HAXM)。这可以直接从英特尔下载,也可以使用 Android SDK 管理器下载。在 SDK 管理器中,它位于 Extras 下。

SDK Manager Screenshot

在我使用的 Android Studio 版本 (0.8.9) 中,Android SDK Manager 下载 HAXM,但实际上并没有运行安装程序(我认为这将在以后的版本中修复)。要运行安装程序,我必须转到 C:\Program Files (x86)\Android\android-studio\sdk\extras\intel\Hardware_Accelerated_Execution_Manager 并手动启动 intelhaxm.exe。

HAXM 适用于 Intel 设备,因此创建了一个使用 Intel CPU 的新模拟器。

使用 Intel Atom x86 创建新的 AVD

这大大改善了事情,但模拟器仍然感觉有点迟钝。最后一步是在 Android 虚拟设备管理器 (AVD) 中选择使用主机 GPU。

AVD Create Options Screenshot

在这些更改之后,Android Emulator 在 5-10 秒内启动并运行,没有任何明显的延迟。 请注意,这些功能依赖于硬件 (CPU/GPU),可能不适用于某些系统。

评论

0赞 Keoz 2/14/2017
使用主机 GPU 是关键!谢谢想知道为什么在一台机器上我有一个快速的鸸鹋,而在另一台机器上我没有
0赞 Anu Martin 9/12/2017
您应该在 BIOS 上启用虚拟化,如果您有 AMD 处理器,则启用 Vt-x
0赞 suther 9/13/2017
请注意,此 HAXM 仅对 Windows 是必需的(并且可用),而对 Linux 则不然。
0赞 Artem Russakovskii 11/30/2023
警告:从模拟器 33.x.x.x 开始,英特尔 HAXM 已弃用。请改用 Android 模拟器虚拟机监控程序驱动程序。英特尔 HAXM 支持将来可能会完全删除。developer.android.com/studio/run/......
-1赞 Suman Astani #75

Android Studio 性能在 Linux 中得到了极大的优化。Windows系统可能在后台运行不同的繁重程序。Linux 最适合有效地使用可用的系统资源。最近我在 Kali Linux 中安装了 android studio。模拟器和工作室性能的速度比 Windows 好得多。

软件开发工具从 android SDK 的下载速度更快。由于软件包捆绑在二进制文件中。二进制文件的大小很小。

4赞 Potassium Ion #76

我建议使用 OpenGL 设置。我有一个双核(四线程)i3-2350M 在其内部 GPU 上运行,如果我使用 SwiftShaders,我会得到糟糕的性能,但将其更改为“桌面原生 OpenGL”() 可以让它运行流畅。Extended Controls > Settings > OpenGL ES Renderer

如果设备无法启动,请在设备配置中使用设置和 GPU 仿真设置。OpenGL ES API Level

我不知道为什么,但在我 2011 年的英特尔处理器上,它带来了天壤之别。

1赞 2 revs, 2 users 63%Sumukh Bhandarkar #77

首先,您需要将 RAM 升级到至少 8GB。

如果您无法升级RAM,请尝试通过数据线连接Android手机并设置为ON的USB调试来运行该应用程序。

此外,您可以使用其他一些模拟器,例如 GenyMotionNox

但是,由于您似乎拥有的 RAM 量,即使是其他模拟器也可能趋于缓慢。