Windows 7 64位 Android AVD启动错误:无法分配内存:8。

21

我刚刚更新了Android SDK工具至r20,并尝试基于Android 4.1和WXGA创建avd,但在启动AVD时遇到错误消息。

config.ini:

hw.mainKeys=no
hw.lcd.density=320
sdcard.size=512M
skin.name=WXGA720
skin.path=platforms\android-16\skins\WXGA720
hw.cpu.arch=arm
hw.keyboard.lid=no
abi.type=armeabi-v7a
hw.cpu.model=cortex-a8
vm.heapSize=48
hw.ramSize=1024
image.sysdir.1=system-images\android-16\armeabi-v7a\

错误信息:

Starting emulator for AVD 'android4.1'
Failed to allocate memory: 8
This application has requested the Runtime to terminate it in an unusual way.
Please contact the application's support team for more information.

只有当我选择WXGA皮肤时才输出错误,无论是720还是800。

我看到Failed to allocate memory: 8页面以寻找解决方案,并尝试更改RAM大小,但并没有解决我的问题。

我的系统环境:

OS: windows 7 64bit
memory: 4GB 

我尝试在Windows 7上启动Android 4.0.3 WXGA,但遇到了相同的错误。但是在Ubuntu 64位Android SDK工具r18中,创建Android 4.0.3 WXGA,可以正常启动。

那么,我应该怎么解决这个问题呢?


这对你有帮助吗?android-emulator-failed-to-allocate-memory-8 - Lin-Art
5个回答

16

这似乎是SDK Tools r20的一个问题,在AVD Manager中无法为WXGAxxx皮肤设置RAM数量(默认的1024 MB对于32位模拟器来说太多了)。

解决方法

您可以通过从命令行启动AVD并将内存硬编码为较低值来解决此问题:

> cd c:\program (x86)\android\android-sdk\tools\
> emulator @android4.1 -memory 896
上述命令行将为AVD设置896 MB的内存。 此错误可以在此处跟踪:http://code.google.com/p/android/issues/detail?id=36080

我使用了 -memory 896 命令来运行我的 avd,它可以工作,但是 avd 正在以手机模式而不是平板电脑模式运行。为什么?谢谢! - Gino
我让我的笔记本通过 VGA 端口连接到分辨率为 1400X900 的其他显示器,并使用 896 内存运行 AVD,这完美地解决了这个问题。AVD 在 WXVGA800 下以表格模式运行。谢谢 Joakim Arborelius 和 @Sheharyar Naseer 给予的帮助和建议来解决这个问题。 - Gino

4

我注意到hardware-qemu.ini文件中的hw.ramSize是错误的(即使我在“Android虚拟设备管理器”中更新了RAM大小,它仍然保持为256)。 - yvolk

1
你在笔记本电脑上运行模拟器吗?
如果模拟器的屏幕分辨率高于你的显示器,也会出现这个问题。例如,如果你的屏幕分辨率是1366x768,那么1280x800的WXGA-xxx可能会崩溃。
尝试使用WSVGA。它可以很好地模拟平板电脑。

是的,你说得对!我的笔记本屏幕分辨率是1366X768,我想这就是崩溃的原因。我会按照你说的稍后再试。谢谢! - Gino
我刚刚尝试了一下,让我的笔记本通过VGA端口连接到分辨率为1400X900的另一台显示器,并使用WXGA运行avd,但是出现了相同的错误。我认为我不能用这种方式解决这个问题。 - Gino
仿真器是否支持 WSVGA?如果不支持,那么肯定有其他问题。 :/ - Sheharyar

-1

将SDK工具从r20降级到r18可以解决问题。您需要通过卸载r20并重新安装installer_r18-windows.ex来完成此操作。


这是一个已知的问题吗?降级到早期的SDK版本(虽然可能会修复报告的问题)会减少支持/功能水平吗? - Ray Hayes

-3
尝试更新ADT和SDK。 如果这不起作用,尝试完全卸载Android的ADT和SDK。甚至删除“.android”文件夹,并最后重新安装它们。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接