Емулятор Android не показує нічого, крім чорного екрана, а пристрої adb показують "пристрій офлайн"


186

Я просто намагаюся почати розробку в Android. Отже, проблема полягає в тому, що коли я намагаюся запустити емулятор, видавши команду емулятор @ A2 , на екрані з'являється емулятор. Але навіть після того, як чекатимеш 2-3 години, все, що це показує, - це чорний екран. Навіть не головний екран Android або логотип Android. Просто чорний екран. І хоча спочатку "adb пристрої" показують емулятор як офлайн. Через 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, revsion 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 update 3) спочатку встановіть jre як частину установки jdk, а потім встановіть jre 7. Отже, у мене в каталозі C: ​​\ Java32BitInstallation у мене 2 папки: jre та jre7. Чи може це мати справу з тим, як мій емулятор не з'являється. Чи потрібно вказати додаткові змінні середовища або змінити існуючі? Ласкаво допоможіть.

До речі, я згадав, що logcat нічого не показує.


3
Я не знаю, чи вдалося вам вирішити це питання. Нещодавно у мене була така ж проблема. Спробуйте запустити емулятор за допомогою emulator -debug-init -logcat '*:v'. Це може призвести до першопричини. Моя була невдалою ServiceManager. Здається, я видалив кілька файлів ServiceManager.
Маркус

1
Я опинився на чорному екрані посеред запуску програми на емуляторі. Зазначивши, що ваша проблема звучить як проблема налаштування авд, я просто хотів повідомити іншим, що витоки пам’яті також можуть спричинити чорний екран. У моєму logcat не з’явився Garbage collector GC_MESSAGE, поки я не стерла avd, перезапустила logcat і не запустила емулятор. Сподіваюся, це допомагає комусь, тому що я просто витратив добре, видаляючи та відновлюючи AVD, коли це не було моєю проблемою ..: - /
cjayem13

Перегляньте посилання нижче. Для мене це добре працює. stackoverflow.com/questions/23509626/…
Android

1
@Markus, де працює команда "емулятор"? Не в платформі-інструментах
Shirish Herwade

1
@FabioR: на mac можна натиснути Command + Option + Escape, вибрати qemu-system-i386та Force Quit . Еквівалентний підхід також повинен працювати на інших ОС.
ccpizza

Відповіді:


136

У мене була така ж проблема з останньою SDK для Android. Я просто деактивував прапорець "Використовувати Host GPU" в налаштуваннях віртуального пристрою, і він знову почав працювати.

"Використовувати Host GPU" працює для мене лише з Android 4.2 як "Target".

Оновлення 26.02.2014:

У розділі Налаштування графіку прискорення графіки від developer.android.com є два підказки .

Застереження: Наразі у версії 17 інструментів SDK Tools, функція прискорення графіки для емулятора є експериментальною; попередити про несумісність та помилки при використанні цієї функції.

і

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

Отже, Android 4.0.3 (API рівень 15), здається, є мінімальною вимогою до прискорення графіки.

Оновлення 25.07.2018:

В останній версії Android Studio більше немає цієї опції. Якщо проблема не зникає, спробуйте переключитися між значеннями спаду "Емульована продуктивність" у діалоговому вікні " Підтвердити конфігурацію" (якщо є) або зверніться до Налаштування графіки та емулятора Настроювання емулятора та прискорення обладнання .


2
добре, зрозумів. Мені довелося поновити деякі речі зі своїм менеджером SDK. На жаль, я не можу точно сказати, яке саме оновлення було правильним, але я думаю, що це стосується емуляторів процесора.
muetzenflo

1
Дякую! була однакова проблема цілими днями, і я не міг її зрозуміти!
cvocvo

89
Для мене це навпаки - я повинен увімкнути "HOST GPU", щоб він працював. Проблема полягає лише в тому, що я не можу робити знімки екрана в такому режимі: /
Elad Avron

3
Хост-графік повинен бути ввімкненим для мене на Ubuntu 12.04 та android sdk 19
Johan Bjäreholt

2
Емулятор Android 4.0.3 працює після того, як я ввімкнув режим gpu в Android Studio 3.4 (Linux, Windows 10). Ви не можете змінити параметри в діалоговому вікні «Перевірити конфігурацію». Це примушує вимкнути режим gpu, що б ви не вибрали в Емуляції продуктивності. Тому змініть config.ini безпосередньо. hw.gpu.enabled = так і hw.gpu.mode = увімкнено. Файли конфігурації зазвичай знаходяться в / папці користувача / .android / avd / ім'я емулятора.avd /.
Парк

82

У мене виникли проблеми із завантаженням більших пристроїв для емуляції (Nexus7 та 10), в той час як емулятори розміру телефону працювали чудово. Просто б продовжувати отримувати чорний екран без годинника з планшетами. Що допомогло, насправді, ОПОЗИЦІЯ того, що рекомендує більшість людей тут: після встановлення галочки на "Використовувати хост GPU" та встановлення цілі на найвищий андроїд (4.4.2 на момент написання цього запису) 7 та 10 працюють як очікувано!


17
Це теж працювало для мене. Переконайтесь, що прапорець Використовувати GPU Host GPU та встановити ціль на Android 4.4.2.
R Brill

1
Дякую. Я позначив варіант і 4.2.2 почав працювати! Я вважаю, що згадували й інші люди. Який дивний ява світ !!
JQ.

Саме те, що мені було потрібно. Дякую!
TheXenocide

Із відміченою опцією "Використовувати хост-графічний процесор" рівень 14 API для мене не працює. API рівня 17 працював із "Використовувати хост GPU".
vishvAs vAsuki

Це також працювало для мене, я перебуваю на MacBook на початку 2015 року без жодної дискретної графічної картки.
Саймон Стендер Бойзен

53

Нещодавно у мене був той самий випуск в емуляторі, Nexus 5 (Android O). Я зайшов у віртуальний диспетчер пристроїв Android і протріть дані користувачів, і це вирішило мою проблему.

Менеджер віртуальних пристроїв Android


Працювали для мене. Дякую.
Садда

1
Працював для мене в 2020 році, працюючи в Windows через командний рядок
ViktorMS

1
Це найпоширеніше рішення. Повинна бути прийнята відповідь.
Dror Bar

30

Якщо встановити прапорець "Стерти дані користувача" в "Параметри запуску", виправлено це для мене.

Перейдіть до Менеджера віртуальних пристроїв Android-> Виберіть свій пристрій-> Пуск-> Установіть прапорець "Стерти дані користувача" -> Запустити


1
Це працювало для мене на Mac, який запускає емулятори через команду перегляду. В Android Studio 2.0 ця опція відображається у стрілці вниз поруч із кнопкою редагування -> "Стерти дані"
behelit

Діє фантастично. Якщо емулятор побудований з вихідного (андроїдний пиріг aosp_x86_64-userdebug в моєму випадку), коли виконання кореневого каталогу робить команду, емулятор потрібно запустити з -wipe-dataаргументом, щоб зробити його завантаження правильно.
yc2986

приємне рішення, його спрацювало для мене
core114

23

Користувачі Mac: На жаль, якщо у вас старший Mac (наприклад, наприкінці 2009 року) і ви використовуєте Yosemite, ви не можете використовувати HAXM для 64-бітної архітектури. Відповідно до приміток до випуску HAXM:

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

Я провів день, намагаючись вирішити цю проблему, коли натрапив на цю цитату. Єдине, що працює - це використовувати у своїй AVD версію останньої ОС (не x86) (наприклад, Lollipop Android 5.0.1 armeabi-v7a).


21

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

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


3
Про це слід згадати у відповідях вище. Перший день з Android Studio, і я побоювався натиснути цю кнопку, тому що думав, що телефон вимкнеться, і коштувати багато часу, щоб знову його ввімкнути. Так, чорний екран означає, що телефон вимкнувся, і вам слід його розбудити за допомогою кнопки живлення, як у реальному пристрої.
kojot

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

9

Зробити заводські налаштування в "Диспетчері пристроїв Android" .

У нових версіях Android Studio це називається "Wipe Data", і це знаходиться в меню правою кнопкою миші для пристрою в диспетчері віртуальних пристроїв.


Це працювало для мене, дякую. У VS 2019 перейдіть до диспетчера пристроїв Android, клацніть правою кнопкою миші та «скиньте заводські налаштування». У мене був емулятор чорного екрану, і це вирішило проблему для мене.
Еван

8

Ось як я вирішив це: я запустив емулятор із наступною командою:

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)

Отже, я просто звільнив трохи дискового простору з мого / домашнього каталогу в 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. Це так само просто, як виділити потрібний тип пристрою на вкладці «Визначення пристрою» та натиснути кнопку «Створити AVD ...», а потім заповнити кілька деталей. Я б почав, налаштувавши "Внутрішню пам'ять" приблизно 8 Гб і (можливо) "SD-карту" об'ємом 2 ГБ, залишаючи все те саме. Спробуйте запустити пристрій, і якщо на екрані з’являється спливаюче вікно "Android". Перше завантаження зазвичай займає деякий час, тому просто зачекайте та спостерігайте за Logcat щодо будь-яких проблем (тут допомагає "DDMS").

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

Мета полягає в тому, щоб змусити вас працювати і працювати з (дуже) базовим пристроєм, тому не знімайте для вражаючих характеристик uber в цей момент, а просто знімайте для спроби змусити його працювати. Як тільки це станеться, спробуйте скорегувати налаштування один за одним, поки у вас це не буде визначено так, як вам подобається. Пам’ятайте лише про те, що емулятор має свої обмеження і не може замінити реальний пристрій (Хоча він працює більшу частину часу;)


Здивований, побачивши відповідь майже через рік публікації питання. Я спробував кроки раніше, про які ви згадали, але це не допомогло. Я модернізував SDk, і він спрацював.
user1314305

4

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

android-sdk-каталог \ extras \ intel \ Hardware_Accelerated_Execution_Manager \ intelhaxm.exe



3

Просто спробуйте встановити CPU / ABI на "Intel Atom (x86)" і вимкнути прапорець "Використовувати хост-процесор".


3

Проблеми, пов'язані з чорним вікном емулятора:

Відбувається, коли встановлено нове вікно. Проблема, пов’язана з графікою Windows, є на компакт-диску Windows. Вам потрібно оновити вікна та виконайте наступні дії.

Якщо графіка емуляції продуктивності (Software GLES, тоді виберіть її до -> Автоматично)

Або якщо графіка Емуляції продуктивності є (Автоматично, тоді виберіть її для -> Software 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, інакше це відновить вищевказані налаштування
  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 версії, bcoz Я не використовую 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 як із використанням "host gpu", так і з підтримкою HAXM. Тільки це поєднання працювало на мене.


1

У мене теж була така ж проблема. Я зрозумів, що апаратний прискорювач HAXM нещодавно був оновлений, але не перевстановлений, оскільки менеджер оновлень просто оновлює пакет інсталятора, який зберігається на вашому жорсткому диску. Вам потрібно буде видалити HAXM, а потім запустити цей інсталяційний пакет, щоб завершити оновлення. Зазвичай це встановлюється в ANDROID-SDK-ROOT \ android-sdk \ extras \ intel \ Hardware_Accelerated_Execution_Manager. Де ANDROID-SDK-ROOT - це місце, де знаходиться ваш android sdk.


1

Для мене довелося вимкнути як передню, так і задню камеру. Сподіваюся, це допомагає!


О, THX, в моєму випадку мені довелося вибрати емуляцію задньої або передньої камери
Stephanfriedrich

1

У мене виникло це питання на моєму Mac. Коли ви створюєте пристрій, якщо ви змінюєте "Графіка" з "Автоматичної" на "Програмне забезпечення", вона виправляє проблему, або, принаймні, це робиться для мене.


1

Я використовую блискавичні Android-емулятори Microsoft, що використовують Hyper-V , і у мене був однаковий чорний екран для кожного емулятора Android, який я створив, незалежно від того, як я встановив режим графічного процесора (авто, хост, меса, кут, швидкий перемикач, вимкнено). Хоча моя ситуація виглядає інакше, ніж у ОП, я вважав, що це може бути корисним для тих, хто використовує емулятори 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 у графіці для кращої продуктивності. І для мене це було питання .

Якщо ви зробили те ж саме,

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.

І так, ви готові йти 😀


0

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

Щоб виправити це, я видалив два каталоги:

C: \ Користувачі \ (Моє ім'я користувача) \ Android

і

C: \ Користувачі \ (Моє ім'я користувача) \. AndroidStudio3.1

Потім я знову забіг в інсталятор.

Я думаю, що це найбезпечніше рішення, якщо ваш емулятор раніше працював, оскільки він змушує повністю оновити AVD-компонент Android Studio.


0

Іншим джерелом помилок може бути довжина PATHсистемної змінної (у системах Windows). Запуск зображень на основі інтелекту із 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 (процесор, графічний процесор, материнську плату тощо)) Сподіваюся, він теж працює для вас.

крок 1: Переконайтеся, що на вашому пристрої включена віртуалізація:

Перезавантажте комп'ютер, а потім натисніть F2 для налаштування BIOS. Ви повинні знайти тег віртуалізації та переконатися, що він позначений як увімкнений. Якщо це не ввімкнено, жоден віртуальний пристрій не може працювати на вашому пристрої.

крок 2: Встановіть / оновіть менеджер виконання програмного забезпечення Intel Accelerated Execution (Intel HAXM) на свій пристрій:

Це програмне забезпечення має бути встановлене або оновлено для запуску будь-яких AVD-дисків. Ви можете завантажити останню версію за допомогою Google "HAXM". Після завантаження встановіть .exe файл та перезавантажте комп'ютер.


Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.