OSX: Сбой эмулятора Android

Я только что переустановил eclipse индиго (32 бит) и последний Android SDK. Эмулятор Android сбой сразу после его запуска.

Вот мои шаги:

  • Создайте новый проект Adroid. Цель - Android 4.0, SDK 14.
  • Нажмите кнопку "Запуск" в Eclipse.
  • См. запуск и сбой эмулятора примерно через 2 секунды

Вывод окна сбоя:

Exception Type: EXC_BAD_ACCESS (SIGBUS)
Exception Codes: KERN_PROTECTION_FAILURE at 0x0000000000000000
Crashed Thread: 0 Dispatch queue: com.apple.main-thread

Консоль Eclipse жалуется на следующее:

Warning once: This application, or a library it uses, is using NSQuickDrawView,
which has been deprecated. Apps should cease use of QuickDraw and move to Quartz.
goldfish_fb_load: framebuffer dimensions mismatch
savevm: unable to load section goldfish_fb
emulator-5554 disconnected!
Cancelling 'com.sparky1.HelloAnrdroidActivity activity launch'!

Любые мысли о том, как заставить эмулятор себя вести?

6 ответов

Об этом сообщается как ошибка: http://code.google.com/p/android/issues/detail?id=724

В этом посте также есть некоторые обходные пути. Но на данный момент, швы не являются фактическим исправить.


Похоже, что это происходит при подключении внешнего монитора. Попробуйте отключить внешний монитор, а затем запустите эмулятор. Вы можете подключить его после запуска эмулятора.


Я тоже видел эту проблему. Я обнаружил, что запуск эмулятора из командной строки и отключение моментальных снимков очень помогают. Я бегу:

$ emulator -no-snapshot-load @avd


Если отключить моментальный снимок при создании устройства, нормально. Не включать моментальный снимок. Если включить моментальный снимок, можно проверить "сохранить снимок" при запуске устройства. Но проверить "запуск из моментального снимка" не получается. Если вы уже сохранили моментальный снимок, это вызовет сбой эмулятора. После срыва эмулятора с помощью "запуска с моментального снимка" отключить моментальный снимок с помощью AVD-менеджера не работает. Но запустите config > target > дополнительная опция командной строки (-no-snapshot-load).


У меня были все эти сбои, и я нашел это в моих журналах сбоев:

Thread 0 Crashed:: Dispatch queue: com.apple.main-thread
0 com.apple.CoreFoundation 0x97585bc1 CFStringGetLength + 17
1 com.apple.CoreFoundation 0x9759df63 CFStringCompareWithOptionsAndLocale + 35
2 com.apple.CoreFoundation 0x9759df2c CFStringCompare + 60
3 com.b-l-a-c-k-o-p.CamCamX5 0x03ff3b44 CoreBundleyes::IsMainMember() const + 48
4 com.b-l-a-c-k-o-p.CamCamX5 0x03ff11cc QVDigBaseClass::ClassFactory(ComponentInstanceRecord*) + 50
5 com.b-l-a-c-k-o-p.CamCamX5 0x03ff317b QVDIG_DATA_Open + 23

Проведя только пару часов:-( в сети я нашел отзыв для удаления   /Library/Quicktime/CamCamX5.component После этого больше никаких сбоев: -)


Альтернативой является переход на использование AndroVM в Virtual Box, который представляет собой изображение X86 для Android. Большим преимуществом является то, что он молниеносно по сравнению с ARM. Он загружается через 2-3 секунды. Недостатком является то, что вам нужно вручную подключиться к ADB, а захват мыши виртуальной коробкой - это боль. Не все приложения будут работать и на x86.

Чтобы использовать его, вы должны настроить первый Ethernet-адаптер как Host Only, запустить утилиту конфигурации androVM для получения IP-адреса эмулятора, а затем использовать ad-адрес ip-address

Еще один совет: если экран выйдет из строя, вам нужно нажать F1, чтобы разбудить его.

licensed under cc by-sa 3.0 with attribution.