错误信息:emulator-arm.exe 已停止工作。

28

我一直在运行我的第一个安卓应用程序时出现了问题。昨天,当我接近运行它时,遇到了这个错误:

emulator-arm.exe has stopped working

我该怎么做?我想运行这个“Hello World”程序。

我的控制台显示:

[2011-07-28 10:46:52 - HelloAndroid] Android Launch!
[2011-07-28 10:46:52 - HelloAndroid] adb is running normally.
[2011-07-28 10:46:52 - HelloAndroid] Performing com.bestvalue.hello.HelloAndroid activity launch
[2011-07-28 10:46:52 - HelloAndroid] Automatic Target Mode: Preferred AVD 'my_avd' is not available. Launching new emulator.
[2011-07-28 10:46:52 - HelloAndroid] Launching a new emulator with Virtual Device 'my_avd'
[2011-07-28 10:47:13 - Emulator] emulator: emulator window was out of view and was recentred
[2011-07-28 10:47:13 - Emulator] 
[2011-07-28 10:47:14 - HelloAndroid] New emulator found: emulator-5554
[2011-07-28 10:47:14 - HelloAndroid] Waiting for HOME ('android.process.acore') to be launched...
[2011-07-28 10:47:28 - HelloAndroid] emulator-5554 disconnected! Cancelling 'com.bestvalue.hello.HelloAndroid activity launch'!

我使用了一款PC健康/注册表清理工具,但没有任何改变。 - Ogugua Belonwu
你已经安装了SDK并创建了一个新项目,但它无法运行... 你尝试过使用不同大小创建一个新的模拟器吗? - Androider
2
尝试为您的模拟设备分配不同(很可能更低)的RAM。在Eclipse中:Window / AVD Manager,然后选择您的设备,然后编辑现在在硬件中设置设备RAM大小。您希望尽可能多地使用RAM,以便它可以更快地工作。 1GB很好,但可能会导致该错误。 - Boris Gafurov
17个回答

46

改变设备的分辨率,它应该可以正常工作。当分辨率为1280X800时,我无法使用它。我将其更改为800X600,然后它就能正常工作了。


我在Android SDK和AVD管理器中将HVGA更改为默认值,这有所帮助。 - neobie
我也“在Android SDK和AVD管理器中将HVGA更改为默认值,这有所帮助”。非常感谢! - Vit Khudenko
Mittal Patel,这对我也有效。谢谢。我尝试[使用一组]启动分辨率为1024 * 640的7英寸模拟器,但是它崩溃了。当我使用10英寸的模拟器时,它正常工作。我不知道原因是什么。 - Siddiq Abu Bakkar
2
不起作用。另外,你使用的是什么设备,分辨率从1280 x 800开始?那是显示器的分辨率,而不是手机的... - gustavogbc
它对我有效,谢谢!我将分辨率降低到480 x 800。 - kokserek

34

经过多次尝试修复,我发现以下方法最有帮助: Android: failed to allocate memory 以512mb或更少的内存运行模拟器似乎是迄今为止对我最有效的解决方案。谢谢。


成功了。我试图添加Galaxy Nexus虚拟设备。将默认的1024MB更改为512MB。没有做其他任何更改。 - Concerned_Citizen

29

以下是如何修复并保持所需的RAM容量:

  1. 进入AVD文件夹(例如:C:\Users\username\.android\avd\phone.avd)
  2. 使用Wordpad打开"config.ini"文件。
  3. 修改'partition'和'ram'行以以"MB"结尾(请参见下面的正确语法更改)

原始: disk.dataPartition.size=512M

已修改: disk.dataPartition.size=512MB

原始: hw.ramSize=1024

已修改: hw.ramSize=1024MB

保存文件,然后再次运行模拟器(例如“emulator.exe -avd phone”)。您必须为每个AVD重复此过程。


5
<drive-letter>:\Users<username>.android\avd<phone-name>.avd\ ;)这是一个Windows文件路径,用于访问Android模拟器的配置文件。其中,<drive-letter>代表系统中分配给硬盘驱动器的字母,<username>代表当前登录用户的用户名,<phone-name>代表Android模拟器的名称。最后的“;)”可能是一种幽默方式来表示该路径的重要性或特殊性。 - warmth
这应该是所有答案中的最佳答案。 - Gabriel Rogath

4

可能是一个老问题,但请尝试从命令行直接执行,假设您在android-sdk\tools文件夹中,通过调用emulator-arm @youremulatorname来运行您创建的模拟器。


我给你信用,因为我可以看到模拟器,但我看不到我的应用程序被加载。 - maxivis

3
在谷歌和 Stackoverflow 上搜索了一些时间后,我终于找到了一个解决方法。在我的实验中,可靠地生成崩溃的唯一方法是将 RAM 大小更改为 128,事实上,许多崩溃取决于 2 个问题:
  • PC Ram 小于或等于 AVD 中定义的 RAM。您必须根据硬件 RAM 设置较低的值。
  • 此外,发现了一些图形和 OpenGL 问题,可以通过将默认显示更改为 HVGA 或在 AVD 中设置较低的分辨率来解决。
祝你好运!

2

由于双显卡的原因,emulator-arm.exe无法工作。请选择基本图形卡而不是高性能图形卡,就可以正常运行了。我有一张nvidia 555M显卡和一张基于Intel的显卡。使用Intel显卡即可启动模拟器。


1

勾选“使用主机GPU”复选框对我有用。


1

我发现使用AVD管理器删除并重新创建虚拟设备,而在创建AVD时不勾选启用快照复选框是可行的。我在Android的Google小组中找到了这个方法。虽然这个问题还没有得到解决,但在这个错误被修复之前,可以将此方法用作解决此问题的临时方法。


1

对我来说有两个选项可行: 1. 更改模拟器分辨率。我不知道为什么,但如果我更改了它,就可以正常运行。 2. 在 AVD 中将“模拟的网络摄像头数量”变量更改为0。

非常感谢您的帮助!!


0
值得注意的是检查HAXM是否已安装/启用(这为我解决了问题,如果没有它会出现与您报告的错误相同,并将我的Mac拖慢)。

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