Эмулятор Android ничего не показывает, кроме черного экрана, а устройства adb показывают «устройство в автономном режиме»


186

Я просто пытаюсь начать разработку в Android. Итак, проблема в том, что когда я пытаюсь запустить эмулятор, выполнив команду emulator @ A2 , на экране появляется эмулятор. Но даже после ожидания в течение 2-3 часов все, что он показывает, это черный экран. Даже не домашний экран Android или логотип Android. Просто черный экран. И хотя изначально «adb devices» показывает эмулятор как офлайн. Через 2-3 минуты список подключенных устройств становится пустым.

Я искал по всей сети и попробовал все шаги, упомянутые там, как убить и перезапустить ADB, установить Java / Android в каталоге без пробелов, но безрезультатно.

Мои установки Jdk и Android находятся в следующих папках:

C: \ Java32BitInstallation C: \ AndroidSdkInstallation Вот список материалов, которые я скачал / установил для него:

  1. Инструменты Android SDK, редакция 13
  2. Инструменты для платформ Android SDK, редакция 10
  3. SDK платформа Android 4.0.3, API 15, версия 1
  4. JDK JDK-7U3-Windows-I586

В моей переменной пути я добавил * C: \ AndroidSdkInstallation \ android-sdk \ platform-tools \; C: \ AndroidSdkInstallation \ android-sdk \ tools \; C: \ Java32BitInstallation \; C: \ Java32BitInstallation \ bin *

Также после прочтения где-то из сети я добавил переменную JAVA_HOME со значением C: \ Java32BitInstallation \, но все равно бесполезно.

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

Итак, кто-нибудь может помочь мне с этим, что сводит меня с ума. Я пытаюсь в течение последних 10-12 дней и не смог запустить эмулятор, не говоря уже о написании моей первой программы "Hello world".

Дополнительные примечания. Моя система - Windows 7 (64-битная). Ранее я установил 64-битную версию jdk, но проблема присутствовала и тогда. Теперь после поиска в интернете я удалил это и установил 32-битную версию Java. Но опять же бесполезно. Одна вещь, однако, это 32-разрядная версия Java (JDK 7 обновление 3), сначала установить JRE как часть установки JDK, а затем устанавливает JRE 7. Итак, теперь у меня есть 2 папки: jre и jre7 в каталоге C: \ Java32BitInstallation. Может ли это сделать муравейник, чтобы мой эмулятор не появлялся. Нужно ли указывать дополнительные переменные окружения или изменять существующие? Пожалуйста, помогите.

Кстати, я упоминал, что logcat ничего не показывает.


3
Я не знаю, удалось ли вам решить эту проблему. Недавно у меня была такая же проблема. Попробуйте запустить эмулятор с emulator -debug-init -logcat '*:v'. Это может привести вас к основной причине. Мой был на службе ServiceManager. Оказалось, я удалил несколько файлов ServiceManager.
Маркус

1
Я столкнулся с черным экраном во время запуска моей программы на эмуляторе. Конечно, ваша проблема звучит как проблема установки AVD, я просто хотел, чтобы другие знали, что утечки памяти также могут вызвать черный экран. Мой logcat не отображал сборщик мусора GC_MESSAGE до тех пор, пока я не удалил avd, не перезапустил logcat и не перезапустил эмулятор. Надеюсь, это кому-нибудь поможет, потому что я потратил много времени, удаляя и воссоздавая AVD, когда это не было моей проблемой ..: - /
cjayem13

Пожалуйста, посмотрите ниже ссылку. Это работало хорошо для меня. stackoverflow.com/questions/23509626/…
Android

1
@Markus, где работает команда "эмулятор"? Не в инструментах платформы
Шириш Хервейд

1
@FabioR: на Mac вы можете нажать Ctrl + Option + Escape, выбрать qemu-system-i386и принудительно выйти . Эквивалентный подход должен также работать на других ОС.
ccpizza

Ответы:


136

У меня была та же проблема с последним Android SDK. Я просто отключил флажок «Использовать хост GPU» в настройках виртуального устройства, и он снова начал работать.

«Use Host GPU» работает только для меня с Android 4.2 как «Target».

Обновление 26.02.2014:

В главе « Настройка графического ускорения» на developer.android.com есть два совета .

Внимание: Начиная с SDK Tools Revision 17, функция графического ускорения для эмулятора является экспериментальной; Будьте внимательны при несовместимости и ошибках при использовании этой функции.

и

Запустите AVD Manager и создайте новый AVD с целевым значением Android 4.0.3 (уровень API 15), редакция 3 или выше.

Поэтому Android 4.0.3 (API Level 15) является минимальным требованием для ускорения графики.

Обновление 25.07.2018:

Последняя версия Android Studio больше не имеет этой опции. Если проблема не устраняется, попробуйте переключиться между значениями раскрывающегося списка «Эмулированная производительность» в диалоговом окне « Проверка конфигурации» (если доступно) или обратитесь к разделу «Настройка эмулятора графики для рендеринга и аппаратного ускорения» .


2
хорошо понял. Мне пришлось обновить некоторые вещи с моим менеджером SDK. К сожалению, я не могу точно сказать, какое обновление было правильным, но я думаю, что это связано с эмуляторами процессора.
muetzenflo

1
Спасибо! была такая же проблема в течение нескольких дней и не мог понять это!
cvocvo

89
Для меня все наоборот - я должен включить «HOST GPU», чтобы он работал. Единственная проблема заключается в том, что я не могу делать скриншоты в этом режиме: /
Elad Avron

3
Мне нужно включить хост GPU на Ubuntu 12.04 и android sdk 19
Йохан Бьярехолт

2
Эмулятор Android 4.0.3 работает после включения режима gpu в Android Studio 3.4 (Linux, Windows 10). Вы не можете изменить параметры в диалоговом окне Verify Configuration. Он принудительно отключает режим GPU, который вы выбрали в режиме эмуляции. Так что измените config.ini напрямую. hw.gpu.enabled = yes и hw.gpu.mode = on. Файлы конфигурации обычно находятся в папке / user / .android / avd / emulator name.avd /.
Парк

82

У меня были проблемы с эмуляцией больших устройств (Nexus7 и 10), в то время как эмуляторы размером с телефон работали отлично. Просто продолжал бы получать черный экран с пустыми часами с планшетами. На самом деле мне помогло то, что большинство людей здесь рекомендуют: после установки флажка «Использовать графический процессор» и установки целевого уровня для Android (4.4.2 на момент написания этой статьи) 7 и 10 работают как ожидается!


17
Это также сработало для меня. Убедитесь, что установлен флажок «Использовать Host GPU», и установите целевое значение Android 4.4.2.
Р Брилл

1
Спасибо. Я поставил галочку и 4.2.2 начал работать! Я верю тому, что упоминали и другие люди. Что за ящерица!
JQ.

Именно то, что мне было нужно. Спасибо!
TheXenocide

Если установлен флажок «Использовать графический процессор» или нет, уровень API 14 не будет работать для меня. API уровня 17 работал с проверенным «Использовать хост GPU».
vishvAs vAsuki

Это также сработало для меня, я на MacBook в начале 2015 года без какой-либо дискретной графической карты.
Саймон Стендер Боизен

53

У меня недавно была такая же проблема в эмуляторе Nexus 5 (Android O). Я зашел в диспетчер виртуальных устройств Android и удалил данные пользователя, и это решило мою проблему.

Диспетчер виртуальных устройств Android


Работал на меня. Спасибо.
Садда Хуссейн

1
Работал для меня в 2020 году на Windows через командную строку
ViktorMS

1
Это наиболее распространенное решение. Должен быть принятый ответ.
Dror Bar

30

Проверка «Стирание пользовательских данных» в параметрах запуска исправила это для меня.

Зайдите в Android Virtual Device Manager-> выберите ваше устройство-> Пуск-> Отметьте «Очистить данные пользователя» -> Запустить


1
Это сработало для меня на Mac, который запускает эмуляторы через Team Viewer. В Android Studio 2.0 этот параметр отображается в стрелке вниз рядом с кнопкой редактирования -> «Очистить данные»
behelit

Работает фантастически. Если эмулятор построен из исходного кода (в моем случае android pie aosp_x86_64-userdebug), то при выполнении команды make корневого каталога необходимо запустить эмулятор с -wipe-dataаргументом, чтобы он загрузился правильно.
yc2986

Хорошее решение, у меня
сработало

23

Пользователи Mac: К сожалению, если у вас более старый Mac (например, в конце 2009 года) и вы используете Yosemite, вы не можете использовать HAXM для 64-битной архитектуры. Согласно примечаниям к выпуску HAXM:

Драйвер HAXM не поддерживает эмуляцию 64-битного системного образа в системах Intel на основе микроархитектуры Core (Core, Core2 Duo и т. Д.). Все системы, основанные на Nehalem и за его пределами, поддерживаются. (Машины Corei3, Core i5 и Core i7).

Я потратил день, пытаясь понять эту проблему, когда наткнулся на эту цитату. Единственное, что работает, это использование не-x86 версии последней ОС (например, Lollipop Android 5.0.1 armeabi-v7a) в вашем AVD


21

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

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


3
Это должно быть упомянуто в ответах выше. В первый день с Android Studio я боялся нажать эту кнопку, потому что думал, что он выключит телефон, и его включение стоило много времени. Да, черный экран означает, что телефон выключен, и вы должны разбудить его кнопкой питания, как в реальном устройстве.
Kojot

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

9

Сделайте сброс настроек в "Android Device Manager" .

В более новых версиях Android Studio это называется «Wipe Data», и оно находится в контекстном меню устройства в диспетчере виртуальных устройств.


Это сработало для меня, спасибо. В VS 2019 перейдите в диспетчер устройств Android, щелкните правой кнопкой мыши и выберите «сброс настроек». У меня был эмулятор черного экрана, и это решило проблему для меня.
Эван

7

Вот как я это решил: я запустил эмулятор с помощью следующей команды:

sudo /home/code/Android/Sdk/tools/emulator -avd Nexus_S_API_21 -netspeed full -netdelay none -debug-init -logcat '*:v'

и получил следующее в выводе:

NAND: could not write file /tmp/android-code/TMP7.tmp, No space left on device. (similar error, could not reproduce it)

Итак, я просто освободил место на диске из моего / home каталога в Ubuntu (для Windows освободил место на диске C:), и он загрузился гладко.


Я использовал команду: sudo /home/code/Android/Sdk/tools/emulator -avd Nexus_S_API_21 -netspeed full -netdelay none -debug-init -logcat '*:v' чтобы запустить AVD и посмотреть журнал, и обнаружил, что устройство не может получить доступ к камере ноутбука, поэтому я отредактировал конфигурацию, чтобы отключить камеру. После этого все заработало нормально!
Мо Заатар

6

Также была эта проблема на ровном месте. Студия Android занимала 100% процессорного времени, и на выставке у меня была следующая ошибка:

Couldn't start project on Android: Error running adb: This computer is not authorized to debug the device. Please follow the instructions here to enable USB debugging: https://developer.android.com/studio/run/device.html#developer-device-options. If you are using Genymotion go to Settings -> ADB, select "Use custom Android SDK tools", and point it at your Android SDK directory.

Холодная загрузка исправила это для меня, как и ответ boltup_im_coding. Вы также можете выполнить холодную загрузку, если она уже запущена (с черным экраном).

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


4

По звуку у вас неправильно настроенное устройство. Если вы сделаете это, он никогда не запустится и не отобразит ничего в Logcat.

Я бы порекомендовал создать новое устройство, используя одно из «Определений устройств» по ​​умолчанию, доступных в AVD Manager. Это так же просто, как выделить нужный вам тип устройства на вкладке «Определения устройств» и нажать кнопку «Создать AVD ...», а затем заполнить несколько деталей. Я бы начал с настройки «Internal Storage» примерно до 8 ГБ и (возможно) «SD-карты» объемом 2 ГБ, оставив все остальное таким же. Попробуйте запустить устройство, и если вы видите всплывающее окно «Android» на вашем компьютере. Первая загрузка обычно занимает некоторое время, поэтому просто держитесь и смотрите Logcat на любые проблемы (здесь помогает перспектива «DDMS»).

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

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


Удивлен увидеть ответ после почти одного года публикации вопроса. Я пробовал шаги, которые вы упомянули ранее, но это не помогло. Я обновил SDK, и это сработало.
user1314305

4

Убедитесь, что вы установили последнюю версию HAXM. У меня была та же проблема с пустым экраном в версии 1.0.1, в то время как 1.0.8 уже была доступна. Установщик может быть загружен с помощью инструментов SDK, чтобы фактически установить модуль, который вам необходимо выполнить.

Android-СДК-каталог \ Extras \ Intel \ Hardware_Accelerated_Execution_Manager \ intelhaxm.exe



3

Просто попробуйте установить CPU / ABI на «Intel Atom (x86)» и деактивировать флажок «Use Host GPU».


3

Проблемы, связанные с черным окном эмулятора:

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

Если Эмулированная Графика Производительности (Software GLES, выберите ее -> Автоматически)

Или Если Эмулированная Графика Производительности (Автоматически, тогда выберите это -> Программные GLES)

это чередование может решить эту проблему.


3

Я изменил его на «холодную перезагрузку», чтобы решить мою проблему. До этого при запуске adb devicesвсегда показывал как offline.

Скриншот холодной загрузки


1
Холодная загрузка работала и для меня. Сделал это однажды, с тех пор проблем не было ... Однако, время от времени это случается ...
newITguy

3

Следующее исправление сработало для меня:

  1. Найдите папку AVD в ~/.android/avd
  2. открыто config.ini
  3. Замените следующие настройки этими значениями:

    hw.gpu.enabled=yes
    hw.gpu.mode=on
    
  4. Сохраните и закройте файл
  5. Не открывайте экран настроек AVD в Android Studio, иначе он вернет вышеуказанные настройки
  6. Запустите эмулятор

Спасибо Sunsugh Park за исправление .

Я сообщил об этом в Google на черном экране запуска API 15 . Пожалуйста, пометьте проблему, чтобы заставить их исправить это.

редактировать

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


2

У меня была та же проблема с API 28, и исправление оказалось таким, как показано ниже;

Включение рендеринга Skia для пользовательского интерфейса Android

При использовании изображений для API 27 или более поздней версии эмулятор может отображать пользовательский интерфейс Android с помощью Skia, что позволяет выполнять более плавно и эффективно.

Чтобы включить рендеринг Skia, используйте следующие команды в оболочке adb :

su
setprop debug.hwui.renderer skiagl
stop
start

https://developer.android.com/studio/run/emulator-acceleration#accel-graphics


Спасибо за редактирование - у меня недостаточно репутации, чтобы комментировать правильно ...
Шон Конвей

1

У меня тоже такая же проблема. Когда я изменил Eclipse с EE на Eclipse Classic, он работал нормально. в Win Professional 64Bit. Попробуйте, это может работать и для вас ..


1
Привет Сентил, Спасибо за ответ. Я думаю, это не вопрос версии Eclipse, потому что я не использую eclipse для запуска эмулятора. Я использую Android SDK инструменты T = для него.
user1314305

1
оу ... тогда подожди когда-нибудь кто-нибудь может тебе помочь ..! Прошу прощения ,,
SenthilPrabhu

1

Мне удалось запустить и отладить приложение тестирования Android на эмуляторе Android через Delphi.

У меня Windows 7 64-битная, 4 ГБ оперативной памяти, двухъядерный процессор на 3 ГГц и Delphi XE 5.

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

Отладка Android-приложений с помощью Delphi

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


1

Для обходного пути попробуйте Android 4.0.3 (API 15) с образом Intel Atom (x86). Я мог сделать снимки экрана DDMS с включенным «use host gpu» и включенным HAXM. Только эта комбинация работала для меня.


1

У меня тоже была такая же проблема. Я выяснил, что аппаратный ускоритель HAXM был недавно обновлен, но не переустановлен, поскольку менеджер обновлений просто обновляет пакет установщика, который сохраняется на вашем жестком диске. Вам нужно будет удалить HAXM и затем запустить этот установочный пакет для завершения обновления. Обычно это устанавливается в ANDROID-SDK-ROOT \ android-sdk \ extras \ intel \ Hardware_Accelerated_Execution_Manager. Где ANDROID-SDK-ROOT - это место, где находится ваш Android SDK.


1

Для меня пришлось отключить как переднюю, так и заднюю камеру. Надеюсь это поможет!


О, спасибо, в моем случае мне пришлось выбрать эмуляцию задней или фронтальной камеры
stephanfriedrich

1

У меня была эта проблема на моем Mac. Когда вы создаете устройство, если вы изменяете «Графика» с «Автоматически» на «Программное обеспечение», это устраняет проблему, или, по крайней мере, для меня.


1

Я использую молниеносные эмуляторы Android от Microsoft, использующие Hyper-V , и у меня был один и тот же черный экран для каждого эмулятора Android, который я создал, независимо от того, как я установил режим графического процессора (авто, хост, меза, угол, свитч шейдер, выкл.). Хотя моя ситуация, по-видимому, отличается от ситуации с OP, я подумал, что это может быть полезно для тех, кто использует эмуляторы Microsoft Android и пришел сюда после поиска «черный экран эмулятора Android».

Решением в моем случае является обновление всех инструментов Android:

   Visual Studio > Tools > Android > Android SDK Manager > Tools

На сегодняшний день (2019-02-01) у эмуляторов Android возникла бы проблема с черным экраном, если у вас установлена ​​новая версия Visual Studio 2017. VS автоматически показывает уведомления об обновлениях пакетов NuGet, инструментов расширения и т. Д., Но НЕ для Android Обновления инструмента. Вы должны проверить и обновить их вручную.


1

Была эта проблема на моем Nexus 7, Nexus 10 & Pixel, а это значит во всех эмуляторах.

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

Я расскажу вам мое решение:

При создании этих эмуляторов я проверил Hardware - GLES 2.0 в Graphics для лучшей производительности. И для меня это была проблема .

Если вы сделали то же самое,

Go to AVD Manager -> Select your emulator -> Click on Edit configuration (in Actions column marked as pencil) -> in Emulated performance - Graphics -> Select Software - GLES 2.0.

Затем нажмите Show Advanced Settings -> Set none for both Front and Back cameraи hit Finish.

Теперь select your emulator in AVD Manager and click on Dropdown arrow in Actions column -> select Cold Boot Now.

И ты готов идти go


0

У меня возникла эта проблема после того, как я получил синий экран смерти во время работы моего эмулятора. Вот мое решение (по крайней мере, для Windows). Мое решение слишком полностью переустановить AVD. Проблема с обычным процессом удаления для Android Studio состоит в том, что он не удаляет все , поэтому, если ваши файлы AVD повреждены, они будут повреждены при повторной установке.

Чтобы это исправить, я удалил две директории:

C: \ Users \ (Мое имя пользователя) \. Android

и

C: \ Users \ (Мое имя пользователя) \. AndroidStudio3.1

Затем я перезапустил установщик.

Я думаю, что это наиболее надежное решение, если ваш эмулятор ранее работал, поскольку он вызывает полное обновление AVD-компонента Android Studio.


0

Другим источником ошибки может быть длина PATHсистемной переменной (в системах Windows). Запуск изображений на основе Intel с PATHпеременной длиной более 2047 символов, кажется, передает пустое значение этой переменной в консоль / эмулятор, поэтому он не может запуститься правильно.

Вот статья, описывающая это поведение: https://software.intel.com/en-us/articles/limitation-to-the-length-of-the-system-path-variable

У меня такая же проблема. Сокращение общей длины этой системной переменной до 1354 символов путем удаления неиспользуемых / несуществующих путей исправило это для меня.


0

У меня такая же проблема. Вот мое решение (для Mac OS). Я просто понизил версию эмулятора Android (с 28.0.3 до 27.3.8). Вот подробная инструкция, как это сделать.


0

У меня была такая же проблема и в win10 64bit. После долгих поисков я нашел это решение. (Если вы используете систему Intel (CPU, GPU, Motherboard и т. Д.)) Надеюсь, что это работает и для вас.

Шаг 1. Убедитесь, что на вашем устройстве включена виртуализация:

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

Шаг 2. Установите / обновите Диспетчер аппаратного ускорения Intel (Intel HAXM) на вашем устройстве:

Это программное обеспечение должно быть установлено или обновлено для запуска любых AVD. Вы можете скачать последнюю версию, прибегая к помощи "HAXM". После загрузки установите .exe файл и перезагрузите компьютер.


Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.