我在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。
当前回答
英特尔于2012年5月15日发布了ICS仿真器的推荐安装说明。这对我有用。模拟器现在很快,UI也很流畅。
前半部分的说明足够详细,因此我假设您能够使用Android SDK管理器以及Intel HAXM安装Intel x86 Atom System Image。
现在,为了确保其他一切都已设置,您可以享受高性能模拟器:
安装Intel硬件加速执行管理器(HAXM)
然后开始:
sudo kextload -b com.intel.kext.intelhaxm (mac)
如果HAXM工作正常,则在启动仿真器时可能会看到以下消息:
HAX正在工作,仿真器以快速虚拟模式运行
否则,您可能会看到以下错误:
HAX不工作,仿真器在仿真模式仿真器中运行:无法打开hax模块
使用GPU仿真。在撰写本文时,当使用GPU仿真时,不能使用快照选项。确保GPU仿真设置为“是”。将设备内存设置为1024 MB或更大,但不能超过Intel HAXM设置。我每个设备使用1024 MB,HAXM使用2048 MB。
保存后始终仔细检查设置!模拟器对它允许您设置的内容非常挑剔,它会在不告诉您的情况下恢复配置。
使用这些设置,软件键盘不再显示,屏幕上的后退键、菜单键和最近的键也不再显示。这似乎是当前ICS Intel x86系统映像的一个限制。您需要使用键盘快捷键。
在Mac OS上,您需要按住fn+控制键,F1-F12键才能工作。可以使用控制+箭头键执行向上/向下/向左/向右翻页。
其他回答
我想知道为什么没有人提到Visual Studio Emulator作为替代方案。它比原生Android Studio Emulator快得多。
下面是性能比较的链接:https://medium.com/android-news/how-visual-studio-emulator-for-android-can-improve-your-android-development-9e17a6213839#.hlh7ba6ut
更好的是,只需拖放即可安装apk文件,甚至gapp(或任何其他可闪存zip)。然而,缺点是它需要Hyper-V,而Hyper-V仅在Windows上可用(从Windows 8开始也是如此)。其他限制(以及上述描述)和其他细节可在此处找到:https://blogs.msdn.microsoft.com/visualstudioalm/2014/11/12/introducing-visual-studios-emulator-for-android/
Android模拟器版本9有一个新的“快照”功能。您可以保存仿真器的状态(制作仿真器的图像),并避免在启动仿真器时启动。
当前(2011年5月)版本的仿真器速度较慢,尤其是Android 3.0(蜂巢),主要是因为仿真器不支持硬件GL——这意味着GL代码被转换为软件(实际上是ARM软件),然后在QEMU中的软件中进行仿真。这太慢了。他们正在研究这个问题,并已部分解决,但没有任何发布质量。
查看视频GoogleI/O 2011:AndroidDevelopmentTools,看看它的运行情况——跳到大约44分钟。
我只是注意到了一些我无法解释的事情,但嘿,对我来说,这很有效!
无论如何,我是从源代码编译Android的,内置模拟器在几秒钟内启动(我的机器是双核AMD 2.7 GHz),一分钟内,也许在第一次运行时两分钟,系统就启动了。另一方面,使用EclipseADT包会导致半小时的仿真器启动。不可接受的
在这里有效的解决方案(我没有办法在其他机器上测试它,所以如果你想测试并验证):
在您的机器上下载并构建Android SDK。这可能需要一些时间(你知道,整个系统的编译是令人厌烦的)。可在此处找到说明:正在初始化正在下载构建(我将命令更改为“午宴sdk-eng”和“makesdk-j4”;此外,构建提示非常有用,尤其是关于ccache和-jN选项)完成后,运行“android”,SDK管理器将出现。下载工具和所需的平台包。如果找不到命令,请尝试重新运行“”。“build/envsetup.sh”和“午餐sdk-eng”命令来设置路径;它们在退出终端会话后丢失。运行“仿真器”以检查其启动速度。对我来说,它比Eclipse捆绑版快得多。如果这有效,请将Eclipse指向您刚刚编译的SDK。左窗格中的窗口首选项Android->选择SDK位置。它应该是带有“tools”子分区的dir,以及“platforms”子分区中的一些内容。对我来说,它是<source-base-dir>/out/host/linux-x86Apply/OK,如果需要,重新启动Eclipse。如果它没有任何抱怨,运行你的Android应用程序。在我的例子中,模拟器在几秒钟内启动,并在一分钟内完成引导。还有一点延迟,但我完全可以接受。
此外,我同意从快照运行并将状态保存到快照。我的建议只涉及模拟器启动时间。我仍然不知道为什么默认情况下会这么长。无论如何,如果这对你有用,请享受:)
对于快速测试(<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应用程序获得的buildroidIP地址。