我在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。
当前回答
我的解决方案是维索。我得到了两个最好的世界。我不会给我的机器加太多的电,但我也可以在屏幕上看到我真正的Android设备,所以我不必伸手去拿它,把手从键盘上拿下来等等。此外,总有一些功能在模拟器上运行得不太好。
有带广告的免费版本和付费版本,与其他解决方案相比,不会让银行破产。
其他回答
使用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
启动屏幕变为空白,因此确实发生了一些事情。
我尝试并成功地杀死了一些其他进程,这让我感觉很好,但模拟器似乎从未启动过。哦,好吧。我正在运行一个QuadCore i7,内存为8Gb。同样使用本问题其他文章中描述的设置运行haxm。
注意:我在2014年9月19日更新了这一点-我了解到,仿真器会尝试启动实例,但永远不会启动的这种奇怪行为与仿真器文件的文件权限有关。由于复制的方式,它们被设置为只读,因此模拟器尝试安装并写入其“虚拟磁盘”,但它的“虚拟磁盘“实际上是一个文件或一组文件,我的操作系统将其设置为只读的,因此失败。这些故障导致仿真器永远无法启动。我将文件设置为完全访问,仿真器将在记录时间内启动。
重要提示:请首先参考有关VT的Intel列表,以确保您的CPU支持Intel VT。
HAXM加速了缓慢的Android模拟器
HAXM代表“Intel硬件加速执行管理器”
目前,它仅支持Intel®VT(Intel虚拟化技术)。
Android模拟器基于QEMU。QEMU和主机系统上的HAXM驱动程序之间的接口设计为与供应商无关。
为HAXM配置Android开发环境的步骤
更新Eclipse:确保Eclipse安装和ADT插件是最新的。更新Android工具:在每次Eclipse插件更新后,更新Android SDK工具非常重要。为此,启动Android SDK管理器并更新所有Android SDK组件。要利用HAXM,您必须至少使用版本17。
下载x86 Atom系统映像和Intel硬件加速执行管理器驱动程序。如下图所示:
通过运行“IntelHaxm.exe”安装HAXM驱动程序。它将位于以下位置之一:C: \程序文件\Android\Android sdk\pextras\intel\Hardware_Accelerated_Execution_ManagerC: \Users\<user>\adt-bundle-windows-x86_64\sdk\pextras\intel\Hardware_Accelerated_Execution_Manager如果安装程序失败,并显示必须打开Intel VT,则需要在BIOS中启用此功能。请参阅“启用Intel VT(虚拟化技术)”中的说明,了解如何做到这一点。
创建新的x86 AVD:按照下图所示:
或者对于新的SDK,
您(旧)版本的Eclipse中包含的仿真器非常慢。
最近的模拟器比2010年的速度更快。更新SDK/IDE。
就我个人而言,我使用真实的手机进行测试。它更快,测试更真实。但是如果你想在很多不同的Android版本上测试你的应用程序,并且不想买几部手机,你就必须时不时地使用模拟器。
尝试Android x86。它比谷歌Android模拟器快得多。遵循以下步骤:
安装VirtualBox。下载所需的ISO文件。将虚拟机创建为Linux 2.6/其他Linux,512 MB RAM,HD 2 GB。网络:PCnet Fast III,连接到NAT。您也可以使用桥接适配器,但您的环境中需要DHCP服务器。在模拟器上安装Android x86,运行它。按Alt+F1,键入netcfg,记住IP地址,按Alt+F7。在Windows XP系统上运行cmd,将目录更改为Android工具目录,键入adb connect<virtual_machine_IP>。启动Eclipse,打开ADT插件,找到设备,然后享受!
Android ADT 18现在包括一个(测试版)GPU启用选项(只需从AVD财产启用GPU加速)。它带来了巨大的变化,甚至ICS现在也感到相对舒适。