适用于Android 4.4 KitKat的模拟器无法启动

时间:2013-11-18 15:09:00

标签: android android-4.4-kitkat

我正在为Android 4.4 KitKat创建一个模拟器,但模拟器需要很长时间才能启动。 我尝试了许多设备,如Nexus4,Galaxy Nexus,Nexus S等,但都没有。 只是一个带有android徽标的黑屏很长一段时间。 有什么建议吗?

16 个答案:

答案 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