提问人: 提问时间:10/12/2009 最后编辑:18 revs, 13 users 37%Peter Mortensen 更新时间:7/1/2023 访问量:1130769
为什么安卓模拟器这么慢?我们如何加快 Android 模拟器的速度?
Why is the Android emulator so slow? How can we speed up the Android emulator?
问:
我在 x86 Windows XP Professional 机器上安装了 2.67 GHz 赛扬处理器和 1.21 GB RAM。
我的理解是,Android 模拟器应该在这样的机器上相当快地启动,但对我来说,它没有。我已经按照所有说明设置了 IDE、SDK、JDK 等,并在快速启动模拟器方面取得了一些成功,但这种情况非常罕见。如果可能,我该如何解决此问题?
即使它启动并加载主屏幕,它也非常缓慢。我已经在 3.5 (Galileo) 和 3.4 (Ganymede) 中尝试了 Eclipse IDE。
答:
您的(旧)版本的 Eclipse 中包含的模拟器非常慢。
最近的模拟器比 2010 年更快。更新 SDK/IDE。
就我个人而言,我使用真正的手机进行测试。它更快,测试更逼真。但是,如果您想在许多不同的 Android 版本上测试您的应用程序并且不想购买几部手机,您将不得不不时使用模拟器。
评论
仿真器启动选项中所述的选项会有所帮助。-cpu-delay <delay>
评论
尝试禁用防病毒软件。也许它会让模拟器更快一点。
评论
我注意到,如果没有连接Dalvik调试监控服务器(DDMS),模拟器的启动速度会快得多。因此,如果从虚拟设备管理器“SDK Setup.exe”启动模拟器,并且 Eclipse 未启动,则模拟器的工作速度会更快。
如果从 Eclipse 启动模拟器:DDMS 就在那里,所以有时模拟器非常慢,但有时更快。
评论
模拟器的启动速度非常慢。好消息是,您只需要启动模拟器一次。如果模拟器已在运行,并且你再次运行应用,则模拟器会相对较快地重新安装应用。当然,如果你想知道它在手机上运行的速度有多快,最好在真实的手机上测试一下。
评论
为此添加更多信息。
我最近将我的 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 可能是值得的。
评论
您可以使用以下命令创建模拟器.bat 来启动模拟器。它会更快地开始。
emulator.exe -cpu-delay 0 -no-boot-anim @<avd name>
或者在 Unix(Mac 或 Linux 版本)上:
emulator -cpu-delay 0 -no-boot-anim @<avd name>
评论
-no-boot-anim
-no-boot-anim
我在加载了 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 和模拟器都是内存消耗者。
我注意到我的模拟器(Eclipse 插件)因我的 Nvidia 显卡抗锯齿设置而显着减慢。从图形菜单中删除 2 倍抗锯齿并将其更改为应用程序控制,使其响应速度更快。它仍然很慢,但比以前更好。
Android 模拟器版本 9 具有新的“快照”功能。您可以保存模拟器的状态(制作模拟器的映像),并避免在启动模拟器时启动。
更新
现在,您可以为 Android 模拟器启用“快速启动”选项。这将保存模拟器状态,并将在下次启动时快速启动模拟器。
单击“模拟器编辑”按钮,然后单击 。然后启用如下图所示。Show Advanced SettingQuick Boot
Android 开发工具 (ADT) 9.0.0(或更高版本)具有一项功能,可让您保存 AVD(模拟器)的状态,并且可以立即启动模拟器。您必须在创建新的 AVD 时启用此功能,也可以稍后通过编辑 AVD 来创建它。
此外,我还增加了导致非常快速的模拟器。Device RAM Size
1024
有关更多信息,请参阅下面给出的屏幕截图。
使用保存快照功能创建新的 AVD。
从快照启动模拟器。
为了加速你的模拟器,你可以参考加速你的Android模拟器!
使用ssd硬盘的影响太大,我建议使用更合适的内存(8或更高)
评论
在 3.4 GHz 四核 6 GB RAM Windows 7 上,模拟器速度慢得惊人!
我通过模拟器下载,安装它并将其设置为默认启动器。它使我的仿真速度翻了一番!屏幕加载更流畅、更快。它似乎没有在 2.1 或 2.2 中下载,只在 2.0 中下载。Launcher-Pro.apk
开发了一段时间后,我的模拟器变得非常缓慢。我选择了擦除用户数据,效果要好得多。我猜加载您部署的每个 APK 文件需要时间。
试试 Android x86。它比 Google Android 模拟器快得多。请按照下列步骤操作:
- 安装 VirtualBox。
- 下载您需要的 ISO 文件。
- 将虚拟机创建为 Linux 2.6/Other Linux,512 MB RAM,HD 2 GB。网络:PCnet-Fast III,连接到 NAT。您也可以使用桥接适配器,但您的环境中需要 DHCP 服务器。
- 在模拟器上安装 Android x86,运行它。
- 按 +,键入 ,记住 IP 地址,按 +。AltF1
netcfg
AltF7 - 在Windows XP系统上运行cmd,将目录更改为Android工具目录,键入.
adb connect <virtual_machine_IP>
- 启动 Eclipse,打开 ADT 插件,找到设备,尽情享受吧!
评论
尝试缩小模拟器,它使它更快一点,即使它没有,它真的感觉更快。
当前(2011 年 5 月)版本的模拟器速度很慢,尤其是在 Android 3.0 (Honeycomb) 上,主要是因为模拟器不支持硬件 GL——这意味着 GL 代码被转换为软件(实际上是 ARM 软件),然后在 QEMU 的软件中进行模拟。这太慢了。他们正在解决这个问题,并部分解决了这个问题,但没有任何类型的发布质量。
观看视频 Google I/O 2011:Android 开发工具,了解实际操作 -- 跳转到大约 44 分钟。
评论
我在 Mac 上也有类似的问题。我做了什么;
- 1) 在模拟器上,设置-显示-> 禁用屏幕方向
- 2)在Eclipse上,模拟器启动选项-> -cpu-延迟 100
这些在降低 CPU 使用率方面有一些效果(不是大约 40-60%),而不是最终解决方案。 但同样,CPU 使用率不再是 >100%!
我只是采用了默认的 Android 3.1,它非常慢,但自从我意识到我的代码与 Android 2.3.3 兼容后,我就切换到了它。它的速度快了大约 50%,而且模拟器看起来更像我的手机,并且永久显示键盘,以便更易于使用。
模拟器在空闲时似乎会自行减慢速度。通过快速将鼠标悬停在侧面的按键上并观察点亮响应,可以明显看出这一点。作为解决方法,我在启动模拟器时传递给 QEMU。您可以创建一个批处理文件来为您执行此操作:-icount auto
my_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
评论
较旧的 Android 版本运行速度要快得多。当我使用上网本时,我使用 Android 1.5(API 级别 3)。不过,也有一些缺点——您的应用程序需要支持较旧的平台(显然),而 ndk-gdb 需要运行 Android 2.2(API 级别 8)或更高版本。但无论如何,定期针对旧平台测试应用程序是个好主意。
您需要更多内存。
这就是我这么说的原因:
我在 Windows 上使用 VirtualBox 作为来宾运行 Ubuntu 10.10。我在 VM 上安装了 Eclipse 和 Android SDK。我的物理盒子有 4 GB 的内存,但当我第一次配置 Ubuntu 虚拟机时,我只给了它 1 GB。模拟器大约需要 15 分钟才能启动。然后,我更改了配置,为 VM 提供了 2 GB,模拟器在不到一分钟的时间内运行。
评论
您可以在 Google I/O 2011:Android 开发工具演讲中查看模拟器问题,从 0:40:20 开始。
模拟器运行缓慢,因为整个 Android 环境在模拟硬件上运行,并且指令也在模拟的 ARM 处理器上执行。
主要的瓶颈是渲染,因为它不是在任何专用硬件上运行,而是通过软件渲染来执行的。减小屏幕尺寸将大大提高模拟器性能。获得更多/更快的内存无济于事。
他们当时提到,他们正在开发一个接口,允许模拟器通过主机硬件传输某些指令,因此最终,您将能够利用桌面硬件的原始功能来利用模拟器的性能。
我尝试从 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
评论
在选择 VD 并单击编辑中,将分辨率设置为小,因为您可以阅读 VD 上的文本。AVD Manager
我使用 800x600 像素,RAM 设置为 512 MB,它就像一个魅力,无需大量使用 CPU 时间。
从 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 机器扩展,您必须安装驱动程序(注意,因为它可能与现有的 VirtualBox 或 VMware 驱动程序冲突)。安装后,只要您使用基于 x86 的 AVD,它就会自动使用。
评论
Android SDK rev. 17 支持使用 AMD 和 Intel 虚拟化技术的虚拟机加速。
此功能可以大大提高模拟器的性能!
有关更多详细信息,请参阅 Android 模拟器文档中的以下部分:配置虚拟机加速
不要忘记为您的操作系统安装适当的驱动程序:
安装驱动程序并下载 Android X86 系统映像(如文档中所述)后,您应该能够使用 x86 映像创建新的 AVD:
例如:
- 目标:Intel Atom x86 系统映像 - API 级别 10
- CPU/ABI:Intel Atom (x86)
评论
Android ADT 18 现在包含一个启用 GPU 的(测试版)选项(只需从 AVD 属性中启用 GPU 加速即可)。它产生了巨大的变化,甚至 ICS 现在也感觉相对舒适。
我注意到模拟器在一段时间内变慢。因此,可以删除速度非常慢的模拟器,并在 AVD 管理器的帮助下创建一个新模拟器。我已经尝试了几次,效果很好。
英特尔于 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
评论
在撰写本文时,最快的模拟器是 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 的模拟器上进行测试。
启用快照可能不会使其在首次运行时更快;不要选择大的SD尺寸。在第一次运行时将 SD 卡大小调整为 100 MB。
为了快速测试(<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 地址。
好吧,既然有人建议将 Android x86 作为替代测试模拟器,我也会介绍我最喜欢的。这可能不是每个人的选择,但对我来说,这是完美的!
使用 Bluestacks 播放器。它运行 Android 2.3.4,非常流畅和快速。有时它甚至比普通设备更快。唯一的缺点是,您只能在 API 级别 10 和一种屏幕尺寸上测试应用程序,但它非常适合测试它是否正常工作。只需通过运行adb
adb connect 127.0.0.1
编译后,它会立即安装。考虑到我有一个相当普通的计算机硬件(双核和 4 GB 的 RAM),这非常令人印象深刻。
评论
我坚持您现在安装 BlueStacks,因为它的工作方式与模拟器相同,具有许多其他功能(例如,它可以访问 Android Market)。此外,您可以以极高的性能速度直接从 Eclipse 运行应用程序到 BlueStack 设备/仿真器。只需几分之一秒即可将您的应用程序从 Eclipse 运行到 BlueStack 模拟器。
评论
通过转到 windows-->首选项-->常规-->启动和关闭,删除启动时某些插件的不需要激活。还要确保你没有在任何视图中使用这些插件
Eclipse 不是文字处理器。最好禁用拼写检查。禁用拼写检查将通过转到 Windows 来减轻 eclipse 负担-->首选项-->常规-->编辑器 --> 文本编辑器 - >拼写
当 eclipse 构建项目时,它将删除所有输出文件夹并重新构建由其他编译器构建的类。我们可以禁用此类功能,因为删除输出文件夹和重建需要一些时间。转到Windows-->首选项-->Java-->编译器-->构建
禁用对您用处不大的标签装饰也将帮助您获得一些性能。转到Windows-->首选项-->常规-->外观-->标签装饰
关闭不需要的项目并使用工作集选项从一组项目顺利移动到另一组项目。
如果您不需要 Eclipse 自动构建,也可以禁用它。转到项目-->自动构建(取消选中)
不要在编辑器中打开大量选项卡。最好有大约 20 个标签。定期关闭未使用的选项卡。要打开资源,我们始终可以使用 ctrl+shift+R 和 ctrl+shift+T(java 资源),而不是打开很多选项卡
禁用不需要的插件。完整的 J2EE eclipse 版本有一个禁用/卸载插件的选项。转到帮助-->软件更新-->管理配置。右键单击任何已安装的插件以获取禁用选项。如果此选项不可用,请转到 Windows-->首选项-->功能并选中经典更新,以启用经典更新。现在,管理配置选项应该在帮助菜单中可用
要减少模拟器的启动时间,您需要在启动模拟器之前选中“禁用启动动画”。请参阅 Android 文档。
如果不知道,则无需在每次运行/调试应用时都关闭模拟器。如果您在 Run/debug 已打开时单击它,您的 APK 文件将上传到模拟器并立即启动。模拟器只有在第一次启动时才需要令人讨厌的很长时间。
以下是一些加速 Android 模拟器的提示: 如何将 Android 模拟器的速度提高多达 400%。
这是我注意到的,根本没有人提到它。
将所有可用处理器分配给模拟器
您可以尝试以下方法。它确实为我加快了模拟器的速度,尤其是在加载期间。我注意到模拟器仅使用可用 CPU 的单个内核。我将其设置为使用所有可用的处理器。
我使用的是 Windows 7。
当Android模拟器启动时,打开任务管理器,在“进程”选项卡下查找“emulator-arm.exe”或“emulator-arm.exe *32”...右键单击它,选择“处理器关联”,然后根据需要将任意数量的处理器分配给模拟器。
评论
Details
Task Manager
我只是注意到一些我无法解释的事情,但是嘿,对我来说它有效!
无论如何,我都是从源代码编译 Android,内置模拟器在几秒钟内启动(我的机器是双核 AMD 2.7 GHz),一分钟后,第一次运行时可能是两分钟,系统就启动了。另一方面,使用 Eclipse ADT 捆绑包会导致模拟器启动半小时。无法接受。
在这里有效的解决方案(我没有办法在其他机器上测试它,所以如果你愿意,请测试和验证):
- 在计算机上下载并构建 Android SDK。这可能需要一些时间(你知道,整个系统的编译很烦人)。说明可以在这里找到:
- 完成后,运行“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 应用程序。就我而言,模拟器在几秒钟内启动,并在一分钟内完成启动。还有一点延迟,但对我来说完全可以接受。
此外,我同意从快照运行并将状态保存到快照。我的建议只涉及模拟器启动时间。我仍然不知道为什么默认情况下它这么长。无论如何,如果这对您有用,请尽情享受:)
重要提示:请首先参考 Intel 关于 VT 的列表,以确保您的 CPU 支持 Intel VT。
HAXM 加速了缓慢的 Android 模拟器
HAXM 代表 - “Intel Hardware Accelerated Execution Manager”
目前,它仅支持 Intel VT(Intel® 虚拟化技术)。
Android 模拟器基于 QEMU。QEMU 和主机系统上的 HAXM 驱动程序之间的接口设计为与供应商无关。
为 HAXM 配置 Android 开发环境的步骤
更新 Eclipse: 确保您的 Eclipse 安装和 ADT 插件是完全最新的。
更新您的 Android 工具: 每次 Eclipse 插件更新后,更新 Android SDK 工具非常重要。为此,请启动 Android SDK 管理器并更新所有 Android SDK 组件。要利用 HAXM,您必须至少使用发行版 17。
- 下载 x86 Atom 系统映像和英特尔硬件加速执行管理器驱动程序。如下图所示:
通过运行“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(虚拟化技术)中有关如何执行此操作的说明。
- 创建新的 x86 AVD:如下图所示:
- 或者至于新的SDK,
评论
现在在 ADT 21 上,它为快速仿真器提供了更多选项......您应该使用 512 MB RAM、较低的 CPU 时间、设备选择和较高的 VM 堆大小。为了获得更好的结果,您应该在 CPU/ABI 中使用 Intel Atom...使用 Snapshot 和 CPU Host 可能不会提高模拟器的速度,但有一些有用的用于其他目的。
我昨天刚开始使用 Windows 7,遇到了同样的问题。我发现并对我有用的最简单的解决方案是在模拟器中使用低配置设备。我使用Nexus One而不是Nexus 7,并在Android虚拟设备中选择设备的快照。
而且,同样重要的是让模拟器保持打开状态。它适用于 Eclipse 和 Android Studio。
在窗口中,它表示当 RAM 大于 ~700 时,快照通常不起作用。因此,选择配置较低的一个可以轻松帮助测试 Hello World,然后开发您的应用程序。稍后,我们可以在高端设备上进行测试。
对我来说,虚拟化支持不起作用,因为我的硬件不支持它。
更新:最新版本的 Android Studio (2.x) 对捆绑的模拟器进行了重大改进。它反应灵敏,并具有一大堆功能。
对于那些仍然感兴趣的人: 尝试使用 Genymotion。注册后,您可以下载适用于 Windows/Mac OS X/Linux 的版本。Eclipse 插件也可用:
插件的安装可以通过启动 Eclipse 并转到“帮助/安装新软件”菜单来完成,然后只需使用以下 URL 添加一个新的更新站点:http://plugins.genymotion.com/eclipse。按照 Eclipse 指示的步骤操作。
该模拟器速度快且响应迅速。
GenyMotion 允许您控制设备的各种传感器,包括电池电量、信号强度和 GPS。最新版本现在还包含相机工具。
评论
使用 Android x86 可提供比 Android 模拟器更好的生产力。
在使用 Android x86 4.2 时,与 Android 模拟器相比,它提供了极快的调试。配置速度快很多倍
它适用于最新的 Android X86 4.2 (Jelly Bean) 和 VirtualBox。
我找到了与互联网和亚行连接的不同方式。
步骤: 1 适配器的选择
案例 1:仅 Internet {NAT 适配器}
最简单的解决方案是使用 NAT 适配器,如果主机连接到 Internet,它将直接将您连接到 Internet,但您将无法通过此设置获得 ADB 连接。
在这里,您将获得一个公共 IP 地址,因此您无法连接到主机。
案例 2:仅 ADB(仅主机适配器)
最简单的解决方案是仅使用仅主机适配器。
注意:由于 DHCP 服务器设置,默认的仅主机适配器可能无法工作。创建新适配器或为现有适配器运行适配器。HostOnlyAdapter
DHCP server
案例 3:适用于 ADB 和 Internet(网桥适配器)
在这种情况下,您必须小心。
如果您使用 LAN 进行 Internet 连接,则应将网桥适配器与以太网卡一起使用。它将为您提供一个本地 IP 地址,虚拟机将使用主机连接到 Internet。
或者,如果您使用的是 Wi-Fi,只需选择 Wi-Fi 适配器即可执行相同的操作。
对于其他类型的连接,您应采用相同的方式。
步骤: 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
对于原始问题,请单击此处。
在创建新的 Android 虚拟设备时,尝试减小模拟器的屏幕大小。
我已经看到,与 AVD 管理器中提供的默认选项相比,这将非常快速地启动模拟器。
如果您有 Intel CPU,请安装 Intel Hardware Accelerated Execution Manager。
然后在“模拟器设置”中将其指定为模拟器的 CPU。当我在Core i7 CPU上做这件事时,大约需要10分钟。现在它在 15 秒内打开。
评论
尝试减小屏幕尺寸,也许您应该考虑使用 Ubuntu。我遇到了同样的问题,不知何故,我在使用 Linux 时在同一台 PC 上的模拟器的运行速度提高了五倍。
评论
模拟器速度很慢。你真的无能为力,但模拟器还有其他选择。
为了使您的模拟器更快,您可以托管 GPU 并使用更轻的 Android 版本(Android 2.3 (Gingerbread))。 在 Mac 上开发会更好。为什么要使用模拟器,顺便说一句?使用真正的手机更有意义。
评论
简短的回答:因为 ARM -> x86 指令翻译。模拟器的工作方式与虚拟机类似,虚拟机的任务是启动完整的操作系统,然后运行测试应用程序。ARM -> x86 转换可能非常耗时,对于应用而言较少,但在操作系统启动时则更多(这与复杂性和涉及的指令数量成正比)。
一些人建议在 x86 模拟器上运行代码。这意味着您无需加载基于 ARM 的操作系统,而是加载在 x86 机器上运行速度更快的 x86 变体,因为不需要 ARM->x86 转换。尽管如此,这并不是一个完美的解决方案:
使用 NDK 并打包了为 ARM 编译的本机库 (*.so) 的 Android 应用程序将无法在 x86 模拟器上运行,因此此类程序将无法运行。但是,如果你到了那个地步,开始处理NDK/原生JNI代码,你可能已经对模拟器有了足够的了解。
使用 ADB 实用程序,我发现了一些重要的信息。
模拟器实际上正在运行,但图形界面似乎是问题所在。
当 Android 初始屏幕打开并且您永远等待时,它如下所示:
模拟器实际上正在运行,因为你可以运行以下命令行工具并查看列出的进程:
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 日更新了此内容 - 我了解到模拟器会尝试启动实例但从未启动的这种奇怪行为都与模拟器文件的文件权限有关。由于它们的复制方式,它们被设置为只读,因此模拟器尝试安装并写入其“虚拟磁盘”,但它的“虚拟磁盘”实际上是我的操作系统设置为只读的文件或文件集,因此它失败了。这些故障会导致模拟器永远无法启动。我将文件设置为完全访问权限,模拟器在创纪录的时间内启动。
在模拟设备时,尝试使用 Intel X86 Atom Storage Image,与使用基于 ARM 的映像相比,启动速度相对较快。
需要注意的另一件事是,根据您的系统配置,运行具有 1.21 GB RAM 的 Android 模拟器可能会带来缓慢的体验,因为模拟器需要高达一定百分比的 RAM 用于模拟设备,不要忘记 ADT 使用的 RAM。
尝试使用 2.1 - 2.3.3 的系统映像,以获得至少可运行的体验。另外,不要忘记保存到快照以加快加载速度。虽然第一次加载可能需要一些时间。但是保存到快照肯定会节省一些时间。
对于初学者来说,简单易行的解决方案。我尝试了很多方法,并停止了将Genymotion与Eclipse结合使用。Genymotion只是向Eclipse添加一个虚拟设备。
一步一步:
- 从这里下载包含 VirtualBox 的 Genymotion。
- 在 VirtualBox 中安装此软件包。
- 从这里将插件安装到 Eclipse 中。
- 启动GenyMotion并创建要使用的虚拟设备,然后启动它。
- 在 Eclipse 中,转到 Window -> Preferences -> GenyMobile -> GenyMotion,并将路径设置为 GenyMotion(在我的例子中为 C:/ProgramFiles/GenyMobile/Genymotion)。
- 在 Eclipse 中单击要启动的项目名称。使用“运行方式”启动应用程序。在设备列表中,您应该会看到模拟设备。
- 你来模仿你想要的。
就我而言,这个解决方案是唯一的快速解决方案。Eclipse 中没有一个模拟器运行得如此之快,而且每个设置都非常慢。只有这个解决方案几乎可以实时工作。我可以推荐(笔记本 i3,2.6 GHz)。
这是对我有用的东西:
- 将 AVD RAM 设置为 512 MB
- 将 SD 卡内存设置为 10 MB
- 设置较大的 SD 卡内存大小是导致 AVD 速度缓慢的最大原因之一。
我遇到了同样的问题,但我通过从 中删除文件夹来修复它。.android
C:\Users\User\
现在,每次启动 Eclipse 或 AVD 时,我都会删除该文件夹。之后,我的 AVD 会在 20 到 30 秒内启动,模拟器运行平稳,延迟可以忽略不计。
可选:如果问题仍然存在,请尝试克隆NEXUS S 从价证券(AVD)。
评论
一个新选项是适用于 Android 的 Visual Studio 模拟器 - 它速度快,Hyper-V,x86,即使没有 VS 也可以免费下载。
评论
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/
评论
为了获得更好的体验,我会推荐 shop.genymotion.com 许可的genymotion。 如果你想测试一下,首先你可以在这里获得genymotion
评论
您可以尝试 Genymotion 而不是 android 模拟器。它比安卓模拟器更快更好。
评论
您可以从此处下载 genymotion 模拟器。这是快速而有效的。
评论
有几件事绝对加快了我的速度,这是
1. 通过选中 AVD 编辑窗口中的“使用主机 GPU”复选框,将渲染过程委托给 GPU。
2. 下载 Intel Atom (x86) 映像,或者如果您是 Windows/Mac 用户,请下载 Intel x86 Emulator Accelerator HAXM
不幸的是,英特尔 x86 映像的问题是您没有获得 Google Apps,它们仅带有 ARM 映像。
这就是Genymotion派上用场的地方
- 下载并安装 VirtualBox。对于 Windows 用户,没有必要单独安装 VirtualBox,因为它可以从 Genymotion 站点获得,并与 Genymotion 模拟器捆绑在一起。
- 转到Genymotion网站并注册。您将收到一封验证邮件,因此只需单击验证链接即可继续。
- 下载并安装 Genymotion 模拟器。
- 启动 Genymotion。您可能需要在 Genymotion 设置中配置您的 Android SDK 位置的路径(如果您已将 SDK 安装在非默认位置),则可能需要配置路径。由于这是第一次启动,因此没有设备。单击“添加”并下载新设备。要查看可用设备,请在弹出对话框中输入您的凭据,然后单击“连接”。
- 选择设备,然后单击“开始”。
评论
现在,我们可以在 Chrome 上使用 ARC Welder 应用程序(适用于 Chrome 的 App Runtime)来测试 Android 应用程序,而不是使用模拟器
是的,你是对的,因为原生 android 模拟器比 genymotion 等其他自定义模拟器慢得多。 当我运行功能性葫芦 android 测试时,我发现了这一点。
在原生 android 模拟器上,当发生“超时异常”时会产生此问题,因此我转向了解决问题的 genymotion 模拟器。
PS:genymotion模拟器不再是免费的。
试试Genymotion for Android Studio。速度极快!只需安装一次。不再有AVD疼痛。
加快 Android 模拟器和应用测试速度的好方法是将 Android Studio 安装或升级到 Android Studio 2.0 版本,然后转到应用程序打开设置/首选项,然后转到构建、执行、部署→即时运行。单击 Enable Instant Run。之后,这将确保您拥有正确的 gradle 插件,以便您的项目与 Instant Run 一起使用。
但是,Android Studio 现在处于预览阶段,您可以立即试用。
评论
我建议您使用Android手机进行USB调试开发。与虚拟设备相比,它在测试应用程序时提供了更好的体验和更好的输出。或者您也可以使用其余答案中提到的选项,并且可以使用 Bluestacks App Player,在 Android 设备不可用的情况下,这也是一个不错的选择。
将您当前的 Android Studio 更新到 Android Studio 2.0 并更新系统映像。
Android Studio 2.0 模拟器的运行速度比 Android 之前的模拟器快 ~3 倍,借助 ADB 增强功能,您现在可以将应用和数据推送到模拟器的速度比推送到物理设备的速度快 10 倍。与物理设备一样,官方的 Android 模拟器也内置了 Google Play 服务,因此您可以测试更多 API 功能。最后,新的模拟器具有丰富的新功能来管理通话、电池、网络、GPS 等。
添加更多 RAM 并使用 SSD 驱动器。根据我的经验,Android Studio 最好使用 SSD 驱动器在 8 到 12 GB 的 RAM 上运行。
评论
如果可以,请切换到使用 Ubuntu 进行 Android 开发。我切换到 Ubuntu 14.04 LTS 进行 Android 开发,我很高兴我跳了下去。提到的所有步骤对 Windows 上的延迟几乎没有影响。Linux 是您面临的所有问题的正确答案
评论
那些日子已经一去不复返了,那时我们曾经在缓慢的 Android 模拟器上运行项目。今天,Android 模拟器正在服用类固醇。 是的,你听到了。没有其他模拟器能像 Android 模拟器一样快。 你可以去我的博客了解更多详情:
http://androidveteran.blogspot.in/2016/01/android-emulator-multi-touch.html
我已经详细解释了新的Android模拟器。一探究竟。
相信我,它们与您的真实设备一样快。
评论
您可以尝试我们的新 Android 虚拟机 Leapdroid,它与原始的 Android 模拟器完全兼容。由于它使用虚拟化技术,而不是仿真,因此它提供了几乎本机速度。此外,我们还使用了一种名为 LeapGL 的新 OpenGL 技术,该技术以原生速度执行 OpenGL 图形。与其他虚拟机相比,我们的虚拟机具有最佳性能。
源代码: https://github.com/leapdroid
Leapdroid 与 Eclipse 和 Android Studio 完全兼容,因为它使用相同的 adb 端口。
Android Studio 2.02 已经推出,它有更快的模拟器,如果你想使用第三方,请使用 Genymotion 模拟器,它们非常快
评论
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 上使用真实设备,然后是模拟器。
我想知道为什么没有人提到作为替代方案。它比原生 Android Studio 模拟器快得多。Visual Studio Emulator
更好的是,apk文件甚至gapps(或任何其他可闪存的zip)都可以通过拖放来安装。但是,缺点是它需要仅在 Windows 上可用的 Hyper-V(从 Windows 8 开始也是如此)。其他限制(以及上述描述)和其他详细信息可在此处找到:https://blogs.msdn.microsoft.com/visualstudioalm/2014/11/12/introducing-visual-studios-emulator-for-android/
评论
我的解决方案是 维索尔 。我得到了两个最好的世界。我不会在我的机器上放太多电,但我也可以在屏幕上看到我真正的 Android 设备,这样我就不必伸手去拿它、把手从键盘上移开等。 此外,总有一些功能在模拟器上效果不佳。
有带广告的免费版本和付费版本,与其他解决方案相比,不会破坏银行。
评论
使用 Intel x86 仿真器加速器
首先,安装 Intel x86 仿真器加速器 (HAXM)。这可以直接从英特尔下载,也可以使用 Android SDK 管理器下载。在 SDK 管理器中,它位于 Extras 下。
在我使用的 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。
在这些更改之后,Android Emulator 在 5-10 秒内启动并运行,没有任何明显的延迟。 请注意,这些功能依赖于硬件 (CPU/GPU),可能不适用于某些系统。
评论
Android Studio 性能在 Linux 中得到了极大的优化。Windows系统可能在后台运行不同的繁重程序。Linux 最适合有效地使用可用的系统资源。最近我在 Kali Linux 中安装了 android studio。模拟器和工作室性能的速度比 Windows 好得多。
软件开发工具从 android SDK 的下载速度更快。由于软件包捆绑在二进制文件中。二进制文件的大小很小。
我建议使用 OpenGL 设置。我有一个双核(四线程)i3-2350M 在其内部 GPU 上运行,如果我使用 SwiftShaders,我会得到糟糕的性能,但将其更改为“桌面原生 OpenGL”() 可以让它运行流畅。Extended Controls > Settings > OpenGL ES Renderer
如果设备无法启动,请在设备配置中使用设置和 GPU 仿真设置。OpenGL ES API Level
我不知道为什么,但在我 2011 年的英特尔处理器上,它带来了天壤之别。
首先,您需要将 RAM 升级到至少 8GB。
如果您无法升级RAM,请尝试通过数据线连接Android手机并设置为ON的USB调试来运行该应用程序。
此外,您可以使用其他一些模拟器,例如 GenyMotion 或 Nox。
但是,由于您似乎拥有的 RAM 量,即使是其他模拟器也可能趋于缓慢。
评论