我正在为Android 4.4 KitKat创建一个模拟器,但模拟器需要很长时间才能启动。 我尝试了许多设备,如Nexus4,Galaxy Nexus,Nexus S等,但都没有。 只是一个带有android徽标的黑屏很长一段时间。 有什么建议吗?
答案 0 :(得分:16)
不幸的是,模拟器确实需要很长时间才能加载。 Android开发人员定期投诉。
如果您进入AVD配置并修改KitKat模拟器并勾选显示Use Host GPU
的复选框,有时会有所帮助。这使它稍微快一些。
此外,我发现如果你使用它决定的默认RAM空间,通常超过1000,如果它完全加载,则需要一段愚蠢的时间。我通常将我的设置设置为512MB,700 + MB,但减少了仿真器可以提供的RAM量。
你可以使用另外一个不同的模拟器,虽然它目前还不支持KitKat,虽然他们说它即将推出,但我听到了不少积极的评论。
您可以在http://www.genymotion.com/
找到替代模拟器<强>更新强>
谷歌已经发布了Android版2的Android模拟器的新版本。不幸的是,AS,构建工具和模拟器都在Beta / Release Candidates中,但我已经使用它们一段时间用于我自己的应用程序没有问题,但也发现仿真器从旧的改进了很多。 http://tools.android.com/tech-docs/emulator将向您展示新功能以及如何获取新模拟器。
答案 1 :(得分:11)
要找到问题的确切原因,请尝试使用 -debug-all 运行模拟器。 在我的情况下模拟器冻结后:
$./emulator -avd 4.4 -partition-size 1024 -debug-all emulator: found SDK root at ~/data/develop/android/android-sdk-linux …blah-blah-blah… emulator: qpa_audio_init: entering和 -noaudio 选项解决了这个问题。
答案 2 :(得分:7)
使用非常少的内存(比如200mb)启动模拟器的第一次运行可能会有所帮助
在我的机器上,模拟器拒绝启动(我等了30分钟,然后杀了它),700MB它只是显示一个空白屏幕 - 甚至不是Android消息。
当我将内存减少到128MB时,模拟器会在正常时间(我的m / c上大约50秒)启动,但没有足够的RAM来加载后台应用程序。我将它改为256 MB,一切都破灭了。现在我可以将内存更改为768MB,现在可以在相同的时间内正常加载。
似乎第一次运行需要使用少量内存,但一旦成功,您可以增加内存(Windows上最多768MB)而不会出现问题。
答案 3 :(得分:2)
我遇到同样的问题......
使用x86模拟器的解决方案是使用最新版本更新HAXM并重新启动计算机。
http://software.intel.com/en-us/android/articles/intel-hardware-accelerated-execution-manager
我希望它能为你们中的许多人提供帮助和解决问题。
此致
答案 4 :(得分:1)
也许亚行是kaput!
如果您使用Windows开发Android,请在\android-sdk\platform-tools\
目录下打开DOS会话(注意:这是Android SDK安装的子目录)。
在DOS窗口中,键入:
adb kill-server
这会杀死当前的Android Debug Bridge(ADB)。然后,键入以下命令再次启动它:
adb start-server
要验证您的Android 4.4 KitKat模拟器是否正在运行,请输入:
adb devices
如果仍然无效,请重复上述步骤。否则,重新启动IDE(Eclipse,Android Studio等)并重试。
答案 5 :(得分:1)
我遇到了同样的问题,帮助重新启动我的计算机并启动模拟器只打开了几个程序(Eclipse,Chrome等等)。我的开发计算机是一个4 GB笔记本电脑,集成显卡运行Ubuntu 12.04。没什么好看的,KitKat模拟器也可以工作。非常缓慢,正如所料:(,但有效。
考虑到模拟器是内存耗尽的,当您尝试运行它们时,您的开发机器资源可能很少?
答案 6 :(得分:1)
除非我启用“使用主机GPU”,否则我会在表面闪光灯上获取sigabort。
编辑: 似乎这与极端分辨率有关。 尝试使用较低分辨率...如果您使用像1080x1920这样的res - 启用主机GPU为我工作
在启动时检查来自模拟器的adb logcat输出,如果你的类似,它可能会起作用。
请在下面找到日志...
I/Vold ( 46): Vold 2.1 (the revenge) firing up
I/Netd ( 48): Netd 1.0 starting
D/Vold ( 46): Volume sdcard state changing -1 (Initializing) -> 0 (No-Media)
W/InterfaceController( 48): Warning (dlopen failed: library "/system/lib/libnetcmdiface.so" not found) while opening the net interface command library
I/SurfaceFlinger( 51): SurfaceFlinger is starting
I/SurfaceFlinger( 51): SurfaceFlinger's main thread ready to run. Initializing graphics H/W...
D/libEGL ( 51): Emulator without GPU support detected. Fallback to software renderer.
D/libEGL ( 51): loaded /system/lib/egl/libGLES_android.so
D/gralloc_goldfish( 51): Emulator without GPU emulation detected.
E/SurfaceFlinger( 51): hwcomposer module not found
E/SurfaceFlinger( 51): ERROR: failed to open framebuffer (No such file or directory), aborting
F/libc ( 51): Fatal signal 6 (SIGABRT) at 0x00000033 (code=-6), thread 51 (surfaceflinger)
I/DEBUG ( 49): *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
I/DEBUG ( 49): Build fingerprint: 'generic/sdk/generic:4.4.2/KK/986172:eng/test-keys'
I/DEBUG ( 49): Revision: '0'
I/DEBUG ( 49): pid: 51, tid: 51, name: surfaceflinger >>> /system/bin/surfaceflinger <<<
I/DEBUG ( 49): signal 6 (SIGABRT), code -6 (SI_TKILL), fault addr --------
I/DEBUG ( 49): r0 00000000 r1 00000033 r2 00000006 r3 00000000
I/DEBUG ( 49): r4 00000006 r5 00000002 r6 00000033 r7 0000010c
I/DEBUG ( 49): r8 b6fd084d r9 b7f1552c sl 00000000 fp bef71b9c
I/DEBUG ( 49): ip fffffffe sp bef719e8 lr b6f34ead pc b6f43e20 cpsr 00000010
I/DEBUG ( 49): d0 0036f09323cb6394 d1 0000000000000000
I/DEBUG ( 49): d2 0000000000000000 d3 0000000000000000
I/DEBUG ( 49): d4 0000000000000000 d5 41c1e5b1ca000000
I/DEBUG ( 49): d6 3f50624dd2f1a9fc d7 414b7849ee147ae1
I/DEBUG ( 49): d8 0000000000000000 d9 0000000000000000
I/DEBUG ( 49): d10 0000000000000000 d11 0000000000000000
I/DEBUG ( 49): d12 0000000000000000 d13 0000000000000000
I/DEBUG ( 49): d14 0000000000000000 d15 0000000000000000
I/DEBUG ( 49): scr 00000010
I/DEBUG ( 49):
答案 7 :(得分:1)
遇到同样的问题,我将AVD配置为使用516MB的内存并加载确定。希望这可以帮助你或其他人。
答案 8 :(得分:0)
现在SDK的最大问题是没有发布x86模拟器图像。
然而,我确实通过在x86 JB AVD和ARM KitKat AVD中混合INI来获取KitKat x86仿真器,以及构建aosp_x86-eng并从KitKat AOSP复制预构建的QEMU内核x86进入我的Windows主机。在Windows中运行的带有HAXM扩展的x86 KitKat映像非常快,比在实际硬件上运行快,速度快,特别是在启用“使用主机GPU”的情况下。
如果您没有自己构建Android,这可能对您没有帮助。但是如果您正在构建AOSP(或者您可以在线找到预构建的x86 KitKat Android映像和QEMU内核),我可以发布有关如何在Windows中使用它的其他详细信息。
答案 9 :(得分:0)
这可能已经回答了......但是我遇到了问题而且它已经解决了......请看这篇文章,我相信你会认真对待它: Setting Up Android 4.4 kitkat emulator
让我知道它是否有效......
答案 10 :(得分:0)
我有同样的问题。将Intel HAXM Accelerator从1.0.1更新到1.0.8(当前版本)对我来说很有把握。
答案 11 :(得分:0)
我在Windows Server 2012 R2安装上遇到了类似的问题。根本原因是缺少视频驱动程序(香草微软的驱动程序还不够)。我正在使用一个拼凑在一起的frankenbox,并发现在这里按照有关找到合适驱动程序的说明很有用:
http://support.amd.com/en-us/kb-articles/Pages/HowtoidentifythemodelofanATIgraphicscard.aspx#DID
一旦我拥有了正确的驱动程序,模拟器就启动了......
答案 12 :(得分:0)
首先转到IDE的SDK管理器插件,然后选择要为其创建Android虚拟设备的API级别。并确保安装了API的SDK平台。如果SDK显示未安装,则首先下载它。
下载完成后自动安装。重新启动IDE。启动AVD插件,然后选择您下载的AVD API。
答案 13 :(得分:0)
就我而言,解决方案是切换到不同的系统映像。我使用的是Atom x86_64,当我切换到Atom x86时,仿真器工作得很好。
答案 14 :(得分:0)
我认为Intel x86(Kitkat)的系统映像存在错误。 因为只有使用-partition-size和-memory选项才能使用超过256MB的存储空间和内存。
所以我改变了系统图像,kitkat有两个系统图像, 一个是Intel x86 Atom系统映像,另一个是Google API(x86系统映像)。对我来说,Google API图片不会发生这种情况。
答案 15 :(得分:0)
使用命令行一次,然后它也可以在Studio中正常工作:
emulator -avd ExampleVDName -debug-all -noaudio -nocache -wipe-data -dns-server 8.8.8.8
在使用之前,不要忘记导航到tools目录。您需要知道SDK的位置。在我的情况下,我必须先导航到这个目录,然后使用上面的命令。
cd C:\AndroidSDK\tools
P.s。:不要忘记使用您自己的虚拟设备的名称,而不是ExampleVHDName
。