Эмулятор не загружается должным образом "ОШИБКА: обнаружена зависшая нить" - PullRequest
6 голосов
/ 05 апреля 2019

Я не могу правильно запустить эмулятор на моем Mac Mini. Когда я выполняю команду эмулятора, появляется окно эмулятора, запускается загрузочная анимация, но через некоторое время я получаю следующие сообщения об ошибках:

ERROR: detected a hanging thread 'QEMU2 CPU0 thread'. No response for 15011 ms

И эмулятор либо выходит, либо перестает отвечать.

Mac Mini, выпущенный в конце 2012 года, имеет 16 ГБ ОЗУ, 2,5 ГГц процессор Intel Core i5 с графической картой HD 4000; Не самый быстрый, но должен иметь возможность запускать эмулятор (и в прошлом мог делать это без проблем)

Я пытался:

Обновление эмулятора:

emulator -version
Android emulator version 28.0.25.0 (build_id 5395263) (CL:77b96786ddf712e1477c6e05cddb09526043faef)

Убедитесь, что Intel Haxm установлен:

 kextstat | grep intel
  102    0 0xffffff7f83833000 0x28000    0x28000    com.intel.kext.intelhaxm (7.3.2) 58DFBE80-E54A-3EFE-B38A-215C5ED8E828 <7 5 4 3 1>

Запуск эмулятора без звука и окна:

emulator -no-audio -no-window  -no-boot-anim @avd

(те же результаты)

Понижение разрешения авд:

hw.lcd.density = 240
hw.lcd.height = 960
hw.lcd.width = 540

в config.ini из avd

Отключение / включение IPv6 ничего не меняет.

Полный config.ini:

PlayStore.enabled = false
abi.type = x86
avd.ini.encoding = UTF-8
hw.accelerometer = yes
hw.audioInput = yes
hw.battery = yes
hw.cpu.arch = x86
hw.dPad = no
hw.device.hash2 = MD5:1c925b9117dd9f33c5128dac289a0d68
hw.device.manufacturer = Google
hw.device.name = Nexus 5
hw.gps = yes
hw.lcd.density = 240
hw.lcd.height = 960
hw.lcd.width = 540
hw.mainKeys = no
hw.sdCard = no
hw.sensors.orientation = yes
hw.sensors.proximity = yes
hw.trackBall = no
image.sysdir.1 = system-images/android-28/google_apis/x86/
tag.display = Google APIs
tag.id = google_apis
hw.gpu.mode = host
hw.gpu.enabled = yes
skin.dynamic = yes
hw.ramSize = 2048

Полный вывод команды эмулятора:

 emulator @avd
2019-04-05 14:42:46.888 qemu-system-x86_64[72065:9498885] GetInputSourceEnabledPrefs user file path = /Users/dgns/Library/Preferences/com.apple.HIToolbox.plist
2019-04-05 14:42:46.888 qemu-system-x86_64[72065:9498885] GetInputSourceEnabledPrefs effective user id path = 501
2019-04-05 14:42:46.888 qemu-system-x86_64[72065:9498885] GetInputSourceEnabledPrefs user pref content = <CFBasicHash 0x7fa6a164d730 [0x7fffaa5028e0]>{type = immutable dict, count = 1,
entries =>
    0 : <CFString 0x7fa6a1616070 [0x7fffaa5028e0]>{contents = "AppleSavedCurrentInputSource"} = <CFBasicHash 0x7fa6a164d6f0 [0x7fffaa5028e0]>{type = immutable dict, count = 3,
entries =>
    0 : <CFString 0x7fffaa570f68 [0x7fffaa5028e0]>{contents = "InputSourceKind"} = <CFString 0x7fffaa5b64a8 [0x7fffaa5028e0]>{contents = "Keyboard Layout"}
    1 : <CFString 0x7fffaa56bc68 [0x7fffaa5028e0]>{contents = "KeyboardLayout Name"} = Austrian
    2 : <CFString 0x7fffaa5a25e8 [0x7fffaa5028e0]>{contents = "KeyboardLayout ID"} = <CFNumber 0x5c37 [0x7fffaa5028e0]>{value = +92, type = kCFNumberSInt64Type}
}

}
emulator: INFO: boot completed
emulator: ERROR: detected a hanging thread 'QEMU2 CPU0 thread'. No response for 15011 ms
emulator: ERROR: detected a hanging thread 'QEMU2 CPU1 thread'. No response for 15011 ms
emulator: ERROR: detected a hanging thread 'QEMU2 CPU0 thread'. No response for 15011 ms
which emulator
/Users/<user>/Library/Android/sdk/emulator/emulator

Ожидаемый результат: эмулятор загружается и может запускать автоматические тесты впоследствии

Фактический результат: эмулятор завершает работу или зависает

1 Ответ

1 голос
/ 28 мая 2019

У меня была такая же проблема на Mac Mini. Вот что у меня сработало:

Перейдите в Инструменты-> Диспетчер AVD-> Редактировать (определенный эмулятор)> Показать дополнительные настройки

Затем в разделе «Эмулированная производительность» я изменил его с быстрой загрузки на холодную загрузку.

Другие варианты, если это не работает, можно найти здесь .

...