【问题标题】:Windows 8: emulator-arm.exe has stopped workingWindows 8:emulator-arm.exe 已停止工作
【发布时间】:2015-01-07 08:15:43
【问题描述】:

在过去的几天里,我一直在尝试让我的 Android AVD 模拟器(来自 SDK)工作,但之前发布的解决方案都没有为我工作。我正在运行 Windows 8.1 Pro,我使用的 IDE 是 Eclipse Juno。这是崩溃报告:

Problem signature:
  Problem Event Name:   APPCRASH
  Application Name: emulator-arm.exe
  Application Version:  0.0.0.0
  Application Timestamp:    543837aa
  Fault Module Name:    ig4icd32.dll
  Fault Module Version: 8.15.10.2555
  Fault Module Timestamp:   4e973113
  Exception Code:   c0000005
  Exception Offset: 005612cc
  OS Version:   6.3.9600.2.0.0.256.48
  Locale ID:    1033
  Additional Information 1: 5861
  Additional Information 2: 5861822e1919d7c014bbb064c64908b2
  Additional Information 3: 84a0
  Additional Information 4: 84a09ea102a12ee665c500221db8c9d6

这发生在每个版本的 Android、每个设备上,从 128-1024MB 内存;我已将 libs 添加到 PATH,切换了 GPU 和快照,关闭了摄像头,编辑了 config.ini 文件。这些解决方案都不适合我。

更新 1:在运行 VirtualBox OpenGL 测试时,VBoxTestOGL.exe 崩溃并出现相同的致命模块和异常代码。此外,Genymotion player.exe 在启动时崩溃,但 VirtualBox 模拟器会启动(但如果没有 Genymotion player.exe,用户将无法输入触摸。

更新 2:我制作的 Gingerbread AVD:http://i.stack.imgur.com/YUXBY.png 此外,在 DDMS 控制台/Eclipse Juno 中的日志中没有关于 AVD 的信息。

更新 3:新 Gingerbread AVD 符合 @ChuongPham 的规范:http://i.stack.imgur.com/QdtI7.png,但运行模拟器仍然没有运气。此外,logcat 甚至没有连接到模拟器;似乎模拟器在连接到 ADB 之前就已终止:http://i.stack.imgur.com/CdZPc.png

更新 4:当使用 -verbose 选项运行 AVD 时,模拟器在使用所有模拟设备记录 emulator: Initializing hardware OpenGLES emulation support 后崩溃。

【问题讨论】:

  • 您使用哪个 JDK 版本运行 Android?而且,您的 Windows 8 计算机有多少 RAM?
  • 使用 JDK 8u25,4GB RAM。
  • 在下面查看我的答案。

标签: android android-emulator windows-8.1 android-sdk-2.3 avd


【解决方案1】:

Android 目前支持 JDK v8,您需要 JDK v7 (v7u67)。所以,要运行 Android:

  • here 下载 JDK v7u67。注意:获取适用于 Windows 8 的 Windows x64 版本。

  • 安装 JDK 后,打开 IDE(Eclipse、Android Studio 等)并指示 IDE 使用这个新的 JDK。例如,在 Eclipse 中选择 Windows |偏好 |爪哇 |已安装 JRE 并选择 JDK 安装目录 - 而不是 Java 运行时 (JRE) 目录。 Windows 计算机上的默认 JDK 目录类似于“C:\Program Files\Java\jdk1.7.0_67”。 注意:您可以在一台计算机上安装多个 JDK,但您的 IDE必须使用 JDK v7。

重要提示:在 Windows 上,为大于 1MB 的 AVD 指定 RAM 选项将不起作用。 RAM 值必须小于 1MB。注意:在 Windows 中 1MB 表示 1,024 KB。

UPDATE 1:如果你的AVD没有正常启动,你可以尝试以下命令(反复)强制ADB服务器启动:

  • 输入adb kill-server
  • 然后输入adb start-server
  • 然后输入adb devices

最后一条命令会告诉您您的设备是否已连接到 ADB。 ADB 可执行文件位于/android-sdk/platform-tools 目录。

另外,将 ADB 的默认超时更改为超过五秒(5000 毫秒),例如 30000 毫秒(30 秒)。在 Eclipse 中,您可以通过转到 Windows | 访问 ADB 连接超时 选项。偏好 |安卓 | DDMS

更新 2:如果您的 AVD 在尝试上述修复后仍然崩溃,请尝试以下操作:

  • 对于 AVD,将 设备 选项更改为使用 WVGA 分辨率(小于 1280x800)而不是 WXGA。然后,点击确定保存更改。
  • 在 Windows 中,打开命令提示符并以管理员身份运行
  • 在命令提示符下,导航到/android-sdk/tools/ 目录。
  • 然后键入 emulator -memory 512 -avd 。注意:将 替换为您要启动的 AVD 的实际名称。

最后,如果仍然无法正常工作,则转储 Eclipse Juno + Android 捆绑包并从 here 单独下载 Eclipse Kepler 或 Luna。然后,分别从here和ADThere下载Android SDK,构建新的开发环境来测试AVD。

BUG:您遇到的问题也可能与这个未解决的Issue 28601 有关。

更新 3:

如果您收到 emulator: Initializing hardware OpenGLES emulation support 错误,请尝试以下修复:

  • 将 OpenGLES 驱动程序的路径添加到您的系统变量。您可以通过 Start | 访问系统变量控制面板 |系统 |高级系统设置 |环境变量 |路径 |编辑并将C:\Program Files\android-sdk\tools\lib添加到Variable Value选项的末尾,然后按OK保存。李>
  • 通过 Windows Update 更新显卡的 nVidia 驱动程序。
  • 通过nVidia website 更新显卡的 nVidia 驱动程序。

BUG:OpenGLES错误可能与Issue 34233有关。

【讨论】:

  • 在安装 JDK 7 并将其添加到我的 IDE 之后,我尝试了多个 RAM 值(我也尝试了 1MB)。无论我选择什么 Android 版本,仍然会发生同样的崩溃。我禁用了相机、快照和 gpu,但模拟器仍然崩溃。
  • 您是否授予了 Windows 8 计算机中/android-sdk/ 目录和子目录的管理权限? Windows 权限有时会干扰应用程序正常运行,包括 Android。这就是为什么我在 Linux 机器上进行大部分 Android 开发而在 Windows 中只进行一小部分(如果需要)的原因之一。
  • 我刚刚授予了 ADT 及其所有子目录的管理权限。从低端到高端设置仍然没有运气。仍然是相同的崩溃代码。
  • @LyricWulf:贴一张你的 AVD 的截图,让我看看你是如何设置它的。此外,编辑您的帖子并包含其他信息,例如使用的 IDE 等。您提供的信息越多,我就越需要缩小问题的原因。还要检查 IDE 中的 DDMS 控制台,查看 AVD 开始启动时是否列出了任何错误。
  • 我在原帖中添加了要求的信息。
猜你喜欢
  • 1970-01-01
  • 2014-04-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-03-05
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多