Windows 8: emulator-arm.exe перестал работать

В течение последних нескольких дней я пытался заставить работать свой эмулятор 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-1024 МБ; Я добавил 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 Кроме того, нет информации об AVD в консоли/журналах DDMS в Eclipse Juno.

ОБНОВЛЕНИЕ 3: новый Gingerbread AVD в соответствии со спецификациями @ChuongPham: http://i.stack.imgur.com/QdtI7.png но эмулятор по-прежнему не работает. Кроме того, logcat даже не подключается к эмулятору; похоже, что эмулятор завершает работу до того, как он подключится к ADB: http://i.stack.imgur.com/CdZPc.png

ОБНОВЛЕНИЕ 4: при запуске AVD с параметром -verbose эмулятор аварийно завершает работу после регистрации emulator: Initializing hardware OpenGLES emulation support на всех эмулируемых устройствах.


person LyricWulf    schedule 10.11.2014    source источник
comment
Какую версию JDK вы используете для запуска Android? И сколько оперативной памяти у вас на компьютере с Windows 8?   -  person ChuongPham    schedule 11.11.2014
comment
Использование JDK 8u25, 4 ГБ ОЗУ.   -  person LyricWulf    schedule 11.11.2014
comment
Смотрите мой ответ ниже.   -  person ChuongPham    schedule 11.11.2014


Ответы (1)


Android в настоящее время не поддерживает JDK v8, вам потребуется JDK v7 (v7u67). Итак, для запуска Android:

  • Загрузите JDK v7u67 с здесь. Примечание. Получите версию Windows x64 для Windows 8.

  • После установки JDK откройте IDE (Eclipse, Android Studio и т. д.) и направьте IDE на использование этого нового JDK. Например, в Eclipse выберите Windows | Настройки | Ява | Установленные JRE и выберите каталог с установленным JDK, а не каталог Java Runtime (JRE). Каталог JDK по умолчанию на компьютере с Windows будет выглядеть примерно так: «C:\Program Files\Java\jdk1.7.0_67». Примечание. На вашем компьютере может быть установлено несколько JDK, но ваша IDE должна использовать JDK v7.

ВАЖНО: в Windows указание параметра ОЗУ для AVD больше 1 МБ не будет работать. Объем оперативной памяти должен быть меньше 1 МБ. Примечание. 1 МБ в Windows означает 1024 килобайта.

ОБНОВЛЕНИЕ 1: Если ваш AVD не запускается нормально, вы можете попробовать следующие команды (повторно), чтобы принудительно запустить сервер ADB:

  • Тип 1_
  • Затем введите adb start-server
  • Затем введите adb devices

Последняя команда сообщит вам, подключено ли ваше устройство к ADB или нет. Исполняемый файл ADB находится в каталоге /android-sdk/platform-tools.

Кроме того, измените время ожидания ADB по умолчанию на более чем пять секунд (5000 миллисекунд), например, 30000 миллисекунд (30 секунд). В Eclipse вы можете получить доступ к параметру Время ожидания подключения ADB, выбрав Windows | Настройки | Андроид | ДДМС.

введите здесь описание изображения

ОБНОВЛЕНИЕ 2: если ваш AVD по-прежнему дает сбой после попытки вышеуказанных исправлений, попробуйте следующее:

  • Для AVD измените параметр Устройство, чтобы использовать разрешение WVGA (менее 1280 x 800) вместо WXGA. Затем нажмите ОК, чтобы сохранить изменения.
  • В Windows откройте командную строку и Запустите от имени администратора.
  • В командной строке перейдите в каталог /android-sdk/tools/.
  • Затем введите emulator -memory 512 -avd ‹avd_name›. Примечание. Замените ‹avd_name› на фактическое имя AVD, которое вы хотите запустить.

Наконец, если это все еще не работает, сбросьте пакет Eclipse Juno + Android и загрузите Eclipse Kepler или Luna отдельно с здесь. Затем загрузите Android SDK отдельно с здесь и ADT здесь, чтобы создать новую среду разработки для тестирования AVD.

ОШИБКА: проблема, с которой вы столкнулись, также может быть связана с этим нерешенным Ошибка 28601.

ОБНОВЛЕНИЕ 3:

Если вы получаете сообщение об ошибке эмулятор: Инициализация аппаратной поддержки эмуляции OpenGLES, попробуйте следующие исправления:

  • Добавьте путь к драйверам OpenGLES в свою системную переменную. Вы можете получить доступ к системной переменной через Пуск | Панель управления | Система | Расширенные настройки системы | Переменные среды | Путь | Отредактируйте и добавьте C:\Program Files\android-sdk\tools\lib в конец параметра Значение переменной и нажмите OK для сохранения.
  • Обновите драйверы nVidia для вашей видеокарты через Центр обновления Windows.
  • Обновите драйверы nVidia для вашей видеокарты через веб-сайт nVidia.

ОШИБКА: ошибка OpenGLES может быть связана с проблемой 34233.

person ChuongPham    schedule 11.11.2014
comment
Я пробовал с несколькими значениями ОЗУ (я также пробовал 1 МБ) после установки JDK 7 и добавления его в свою среду IDE. Все тот же сбой, независимо от того, какую версию Android я выбираю. Я отключил камеры, снимки и графический процессор, но эмулятор все еще падает. - person LyricWulf; 11.11.2014
comment
Дали ли вы административные права для каталога /android-sdk/ и его подкаталогов на вашем компьютере с Windows 8? Разрешение Windows иногда может мешать правильной работе приложений, включая Android. Это одна из причин, по которой я большую часть разработки для Android делаю на Linux и только небольшую часть на Windows (если требуется). - person ChuongPham; 11.11.2014
comment
Я только что дал административные разрешения для ADT и всех подкаталогов внутри. Все еще не повезло, от низких до высоких настроек. Все тот же аварийный код. - person LyricWulf; 11.11.2014
comment
@LyricWulf: опубликуйте скриншот одного из ваших AVD и покажите, как вы его настроили. Кроме того, отредактируйте свой пост и включите другую информацию, например, какая IDE используется и т. д. Чем больше информации вы предоставили, тем больше я должен сузить причину проблемы. Также проверьте консоль DDMS в вашей среде IDE, чтобы увидеть, есть ли какие-либо ошибки в списке, когда AVD начал загрузку. - person ChuongPham; 12.11.2014
comment
Я добавил запрошенную информацию в исходный пост. - person LyricWulf; 12.11.2014
comment
Измените параметр VM Heap (vm.heapSize) как минимум на 64 и измените параметр Skin (skin.dynamic) на Skin. с динамическим управлением оборудованием. Кроме того, ваша графическая карта куплена в течение последних трех лет или около того? Если да, также включите параметр Использовать главный графический процессор, чтобы разрешить графической карте отображать пользовательский интерфейс AVD. Не беспокойтесь о параметре Snapshot — это больше проблем, чем пользы. Наконец, нет журналов в консоли DDMS — это странно! До сбоя AVD должно быть хотя бы несколько журналов... - person ChuongPham; 12.11.2014
comment
Кроме того, см. здесь получение журналов из оболочки/командной строки для AVD, если вы не получаете никаких журналов из консоли IDE. - person ChuongPham; 12.11.2014
comment
Сделал новый AVD с новыми настройками, и я безуспешно переключал Использовать хост-графический процессор, независимо от того, был ли он включен или выключен. Похоже, что эмулятор завершает работу, прежде чем он сможет подключиться к ADB. См. ОБНОВЛЕНИЕ 3. P.S.: Спасибо @ChuongPham за вашу постоянную поддержку. - person LyricWulf; 13.11.2014
comment
Я установил тайм-аут ADB на 30 секунд, но все равно не удалось обнаружить эмулятор с помощью adb devices. Единственная ошибка в журнале DDMS связана с уничтожением сервера ADB: [DeviceMonitor] Adb connection Error:An existing connection was forcibly closed by the remote host. Я знаю, что мой ADB полностью функционален, потому что я использую его со своим телефоном, и он без проблем его определяет. Эмулятор по-прежнему не запускается с тем же кодом сбоя. - person LyricWulf; 14.11.2014
comment
Как указывалось ранее, ADB и мои драйверы прекрасно работают с моим физическим телефоном. Проблема не в АДБ. Проблема в том, что эмулятор не запускается на моем компьютере. - person LyricWulf; 14.11.2014
comment
У вашего Android SDK и ADT одна и та же версия выпуска. Например, если вы установили Android SDK версии 23.0.2, у вас должен также быть установлен ADT версии 23.0.2. Несоответствие версий Android SDK и ADT приводило к множеству непредвиденных проблем в прошлом. - person ChuongPham; 14.11.2014
comment
Я установил оба одновременно из zip-пакета ADT с веб-сайта Android. Проверил md5s, ошибки там нет. - person LyricWulf; 14.11.2014
comment
@LyricWulf: без среды, подобной Windows 8.1, чтобы протестировать и помочь вам, у меня заканчиваются варианты. Однако я отредактировал свой ответ с помощью ОБНОВЛЕНИЯ 2, добавив еще несколько предложений. - person ChuongPham; 14.11.2014
comment
Все еще происходит сбой с вашим обновлением 2. Я не думаю, что проблема связана с ошибкой, которую вы опубликовали с обновлением 2, поскольку подробные журналы этой проблемы показывают, что эмулятор проходит точку, где мой сбой. Подробнее см. в моем UPDATE4. Возможно, подробный журнал поможет нам увидеть, что не так. - person LyricWulf; 15.11.2014
comment
Редактирование PATH не помогло, моя видеокарта не nVidia, у меня интегрированный чипсет Intel. Нет обновлений драйверов через Центр обновления Windows. - person LyricWulf; 07.12.2014
comment
@LyricWulf: попробуйте обновить графические драйверы для вашей видеокарты, возможно, и для материнской платы, если у вас есть встроенный чипсет. Извините, у меня просто заканчиваются идеи, чтобы помочь вам решить эту проблему. - person ChuongPham; 07.12.2014
comment
Все драйверы обновлены, согласно Intel, HP и Windows. Это может быть просто какая-то ошибка, которую мы не можем исправить, не углубляясь в код. - person LyricWulf; 08.12.2014
comment
В этом случае зарегистрируйте ошибку в Google на странице code.google.com/p/android. /вопросы/список. Может быть, они знают причину и могут исправить это для вас. - person ChuongPham; 08.12.2014
comment
Сделаю. Я собираюсь оставить этот вопрос нерешенным, пока не будет решения. В очередной раз благодарим за помощь. - person LyricWulf; 09.12.2014