Помилка емулятора: у цій конфігурації AVD відсутній файл ядра


183

Ця проблема була виявлена, коли я намагався запустити емулятор Android в Eclipse. Не можу зрозуміти, що сталося. Я шукав рішення в Інтернеті, але це здавалося неясним, і я не розумію його чітко. Я дотримувався кроків із встановлення AVD відповідно до сайтів, і я не можу зрозуміти, що я пропустив. Будь-ласка, поясніть мені це в наступних кроках.


та ж проблема: stackoverflow.com/questions/8190820/scala-android-newbie - створити новий AVD
zapl

1
На mac все ще не міг його запустити; за допомогою ремонту на AVD працював для мене stackoverflow.com/a/15971119/664220
Ронні

перезапуск Eclipse після встановлення зображення ARM та створення нового AVD працював на мене.
Саймон

Можливо, це посилання може допомогти: developer.android.com/tools/help/avd-manager.html
Abhijeet

Відповіді:


254

"Зображення системи ARM EABI v7a" повинно бути доступним. Встановіть його через менеджер SDK для Android: Менеджер SDK для Android

Ще одна підказка (див. Тут ) - с

  • Android SDK Tools версії 17 або новішої
  • Android 4.0.3 (рівень API 15)
  • за допомогою SDK rev 3 та System Image rev 2 (або вище)

Ви можете ввімкнути емуляцію GPU, щоб отримати швидший емулятор: введіть тут опис зображення

Примітка. Відповідно до коментаря you786, якщо ви раніше створили емулятор, тоді вам потрібно його відтворити, інакше це не вийде.

Альтернатива 1
Intel пропонує « менеджер виконання програмного забезпечення прискореного апаратного забезпечення Intel », який є емулятором на основі VM для виконання зображень X86, а також обслуговується менеджером SDK для Android. Дивіться підручник для емулятора Intel тут: HAXM прискорює емулятор Android . Повідомлень Роман Нурік тут , що емулятор Intel з Android 4.3 «блискавично».

Альтернатива 2
У коментарях до публікації вище ви можете знайти посилання на Genymotion, який стверджує, що є "найшвидшим емулятором Android для тестування та презентації додатків". Genymotion працює на VirtualBox. Дивіться також їхній сайт в Google+ , цю публікацію від Кирила Моттьє та цей посібник з reddit .

Альтернатива 3
У XDA-форумах я читав про MEmu - найпотужніший Android-емулятор для ПК, кращий, ніж Bluestacks . Ви можете знайти емулятор тут . Це приводить мене до ...

Альтернатива 4
... ця запис на XDA-форумі: Як скоріше використовувати! BlueStack як ваш альтернативний емулятор розробки Android . Ви можете знайти емулятор тут .


1
На жаль, на деяких ATI-картах відбувається збій при включенні емуляції GPU - з нетерпінням чекаю оновленого емулятора.
ChrLipp

23
Я виявив, що мені потрібно було видалити емулятор і відтворити його після встановлення, щоб вирішити цю проблему.
you786

3
@ you786 так, важливо відтворити це
Бобс

1
Я зробив всі можливі способи, але все ще є під час запуску симулятора
VISHNU GARG

Дивіться мою відповідь нижче.
Марк Рочкінд

22

Ще одна причина, по якій ви можете отримати цю помилку, полягає в тому, що Eclipse не може знайти правильний файл.

Перевірте, де Eclipse шукає ваші файли SDK. Це можна зробити в командному рядку. Нижче наводиться приклад командного рядка Windows для створеного мною avd і назвав "SonyTabletS":

c:\Program Files (x86)\Android\android-sdk\tools> emulator @SonyTabletS -verbose

Перший повернутий рядок показує, де eclipse шукає файли SDK і буде виглядати приблизно так:

emulator: found ANDROID_SDK_ROOT: C:\Program Files (x86)\Android\android-sdk

Переконайтесь, що місце розташування є правильним.

У моєму випадку ANDROID_SDK_ROOTспочатку було неправильно встановлено домашній каталог. Це тому, що я встановив це таким чином, сліпо слідуючи інструкціям щодо встановлення Sony Tablet S SDK та додавши ANDROID_SDK_ROOTзмінну середовища з неправильним шляхом.


У моєму випадку Android \ android-studio \ sdk було взято на місце ANDROID_SDK_ROOT, поки я запускаю емулятор з папки Android \ android-sdk. Як тільки він правильно вказує на Android \ android-sdk, він працює.
noel aye

Це було для мене. У моєму середовищі побудови використовується один ANDROID_SDK_ROOT, який я не можу легко оновити. Виправлення полягало в тому, щоб запустити чистий командний рядок і встановити ANDROID_SDK_ROOT праворуч, а звідти запустити диспетчер sdk.
Doug Coburn

Переконайтесь, що у вас випадково не встановлено дві копії SDK. Якщо ви схожі на мене, ви встановлювали "ARM EABI v7a Image Image" в одному екземплярі, але AVD намагався знайти його в іншій копії. Я видалив одну зі своїх копій SDK, і тоді мій емулятор запустився праворуч.
sffc

У моєму випадку у мене папка SDK вказує на правильний dir.
Неонова Варга

16

Моя історія, Eclipse хотів, щоб файл, який називався " kernel-ranchu" в папці зображень системи ( /path/to/android-sdk-macosx/system-images/android-25/google_apis/arm64-v8a).

емулятор: ПОМИЛКА: У цій конфігурації AVD відсутній файл ядра! Переконайтесь, що файл "kernel-ranchu" знаходиться в тому самому місці, що і зображення вашої системи.

емулятор: ПОМИЛКА: ANDROID_SDK_ROOT не визначено

У цій папці із зображенням системи був файл під назвою " kernel-qemu". Я просто перейменував його на " kernel-ranchu", і він спрацював ...


4
У моєму випадку все було навпаки
урненфельд

15

У мене була така ж проблема. У моєму випадку виявилося, що я встановив іншу версію sdk поряд із версією, наданою Android Studio. Зміна моєї змінної середовища ANDROID_SDK_ROOT на початкове значення зафіксувала це для мене.


1
Важливо зауважити, що це не менш вірний варіант відповіді, як і головна відповідь у випадку, коли SDK був раніше встановлений перед Android Studio. Помилка в тому, що Android Studio має помітити, що ANDROID_SDK_ROOT вже встановлено на інше місце, і попередити користувача під час встановлення.
Основне

Ядро правильне. Я сьогодні перейшов з Eclipse на Android Studio, і саме це вирішило проблему.
Pikamander2

11

Ось моя історія. У розділі "Дії" на диспетчері AVD я переглянув деталі AVD, який не працював. Прокручуючи униз, я знайшов рядок:

image.sysdir.1: add-ons\addon-google_apis-google-16\images\armeabi-v7a\

Потім я перейшов до цього файлу за адресою:

C:\Users\XXXX\AppData\Local\Android\sdk\add-ons\addon-google_apis-google-16\images\armeabi-v7a

Я виявив, що файлу ядра не було. Однак я знайшов файл ядра за адресою:

C:\Users\XXXX\AppData\Local\Android\sdk\system-images\android-16\default\armeabi-v7a

Тож я скопіював його і вставив назад:

C:\Users\XXXX\AppData\Local\Android\sdk\add-ons\addon-google_apis-google-16\images\armeabi-v7a

Тоді AVD працював.


Дякую, це вирішило! Я думаю, що це має бути помилка чи що-небудь, тому що це дуже дивна поведінка
Hugo

7

Відкриття диспетчера AVD в режимі адміністратора Виберіть VM та натисніть кнопку "Редагувати", натисніть "OK".

Примітка редактора : в режимі адміністратора він мав на увазі правою кнопкою миші> Запустити як адміністратор на платформах Windows.


Що / де "Режим адміністратора"?
ericpeters0n

Не вдається знайти VM, для Mac OS
Frank Fang

4

Якщо ви знаєте, що файл ядра встановлений на вашій машині, то проблема з отриманням emulator.exe знайти його.

Моє виправлення базувалося на публікації користувача2789389. Я міг запустити AVD з диспетчера AVD, але не з командного рядка. Отже, використовуючи AVD Manager, я вибрав avd, який хотів запустити, і натиснув "Деталі". Це показало мені шлях до файлу визначення avd. У однойменній папці поруч із цим .avd-файлом я знайшов файл config.ini. В іні я знайшов такий рядок:

image.sysdir.1=system-images\android-19\default\armeabi-v7a\

Я заглянув у папку C: \ Users \ XXXX \ android-sdks \ system-images \ android-19, і виявив, що шлях image.sysdir.1 недійсний. Мені довелося видалити підкаталог "за замовчуванням", змінивши його на таке:

image.sysdir.1=system-images\android-19\armeabi-v7a\

Я врятував ini і знову спробував запустити AVD. Це вирішило проблему!


Це не виправило. У моєму випадку я маю зображення sytem у підпапці за замовчуванням.
Неонова Варга

Вам не доведеться голосувати за мене, тому що у вас інша проблема! Це не робить мою відповідь неправильною.
BuvinJ

Ви також проголосували за будь-яку іншу публікацію тут, бо вони не вирішили вашу проблему?
BuvinJ

Це вирішило для мене проблему, я бігаю в Mac, і шлях вказував на image.sysdir.1 = надбудови / addon-google_apis-google-16 / images / armeabi-v7a, змінюючись на system-images / android -16 / за замовчуванням / armeabi-v7a вирішив проблему
Феліпе

3

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

Спробуйте створити новий емульований пристрій у диспетчері AVD (Інструменти-> Android> AVD Manager) і виберіть його як ціль.


Намагаючись піти по цьому шляху, дайте мені знати, що HAXM насправді не був встановлений, хоча він показав, що це було. Мені запропонували встановити Intel HAXM.
Лодлайден

2

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


2

Особлива розумна думка виникла у мене після довгого дня ремонту / перебудови / оновлення SDK / NDK & JDK. Необхідно вивчити різноманітність середовища, оскільки виправлення файлу ядра у моєму AVD 'GalaxyS3' було розширення посилання на системні образи до абсолютного.

image.sysdir.1 = C: \ Android \ sdk \ system-images \ android-19 \ Armeabi-v7a \

Додавання "C: .... sdk \" до запису "image.sysdir.1 =" у файлі "робоча область" .android \ avd \ GalaxyS3.avd \ config.ini вирішило проблему (поки що).


2

Я оновив свій Android SDK до останньої версії (API 19). Коли я спробував запустити емулятор за допомогою fonegap 3, збірка виявилася успішною, але у мене виникла та сама проблема.

У диспетчері AVD був існуючий пристрій, проте, його параметри були всі невідомі. Звичайно, це відбувається тому, що я видалив стару версію sdk (API 17), яка повертає другу помилку під час спроби видалити пристрій. З повідомленням: "пристрій вже працює"

Щоб вирішити проблему, я перейшов до місця AVD у ~ / .android / avd / та видалив вручну файл з файлу directory.avd та device.ini. Нарешті, в диспетчері пристроїв я створив новий AVD, наданий найновішим API.

Це дозволило phonegap скласти та запустити емулятор успішно

Я сподіваюся, що це допомагає

Хороший день


2

Після прийнятої ChrLipp відповіді за допомогою Android Studio 1.2.2 в Ubuntu 14.04:

  • Встановіть пакет "ARM EABI v7a System Image" від менеджера SDK Android.
  • Видаліть нефункціональний віртуальний пристрій.
  • Додайте новий пристрій з додатком бінарного інтерфейсу (ABI) як Armeabi-v7a.
  • Завантажте новий пристрій.

Це працювало для мене. Спробуйте перезавантажити систему, якщо вона не працює для вас.


2

Дивіться мою відповідь щодо середовища Android Studio , Mac та "PANIC: Відсутня програма двигуна емулятора для" процесора ".".

Щоб вирішити цю проблему, потрібно вказати -kernelшлях вручну. тобто

$ ~/Library/Android/sdk/emulator/emulator  @Galaxy_Nexus_Jelly_Bean_API_16 -kernel ~/Library/Android/sdk/system-images/android-16/default/armeabi-v7a/kernel-qemu

Не забудьте змінити ім'я емулятора Galaxy_Nexus_Jelly_Bean_API_16 на власне ім'я емулятора.

Нижче команда - перевірити емулятори, доступні для командного рядка.

$ ~/Library/Android/sdk/emulator/emulator -list-avds

А також переконайтеся, що шлях емулятора правильний, тобто той, що знаходиться у ~/Library/Android/sdk/emulator/.


1

Я спробував те, що запропонував ChrLipp, але це не проблема, оскільки зображення вже встановлено. Що я зробив:

android avd

для запуску емулятора вручну. Потім я зупинив емулятор і сформував цю точку на

cca emulate android

додаток почав працювати без помилки "відсутній файл ядра".


1

Я вирішив цю проблему, просто додавши змінну Enviroment ANDROID_SDK_ROOT, у моєму випадку це було розміщено за адресою C: \ Users \ fera \ AppData \ Local \ Android \ sdk


1

У моєму випадку у мене було кілька помилок, більшість з яких стосувалося неправильно налаштованого ANDROID_SDK_ROOT , наприкінці дня одна справа, здавалося, виправляла всю справу.

Виконайте наступний процес:

Створивши новий пристрій емулятора на AVD, перейдіть до меню "Дії" та натисніть стрілку, спрямовану вниз, як показано нижче.

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

Клацніть на Показати на диску

Редагуйте Config.ini

Шукайте image.sysdir.1

воно має мати таке значення: ** image.sysdir.1 = system-images \ android-28 \ google_apis_playstore \ x86 **

Ваша власна цінність може бути різною

Тепер закріпіть шлях Android Sdk, щоб зробити повний шлях.

image.sysdir.1 = ** C: \ androidsdk ** системні зображення \ android-28 \ google_apis_playstore \ x86 \

Якщо ви помітили, показаний вище шлях для sdk для android відрізняється від звичайного sdk для Android за замовчуванням, мені довелося перенести його на C: / androidsdk, щоб уникнути проблем з NDK, оскільки мій головний ДОМАШНИЙ ДОМАШНИК на моєму ПК має пробіли, які NDK може не підтримувати.

ПРИМІТКА: Переміщення каталогу SDK від його каталогу за замовчуванням зазвичай є причиною цих помилок, які видає AVD-емулятор, особливо це стосується зламаного та неправильно налаштованого шляху. Наведене вище виправлення - це швидке виправлення, можливо, доведеться це робити щоразу, коли ви створюєте новий пристрій на Емуляторі AVD.

Це виправлення також повинно працювати під час роботи на CMD з cordova.


0

Просто хотів поділитися своїм досвідом з цієї проблеми. Консультуючись з кожною з відповідей тут, це не відповідало моїй ситуації. Наявність системного зображення для Android API 22 викликає цю помилку, і дивно, що всі змінні середовища оточують вказівки на правильні каталоги. Це не має сенсу.

@BuvinJ відповідь пролила трохи світла в проблему. Я перевірив опис шляху у його відповіді, і так, моя копія зображення системи знаходиться під замовчуванням підпапки, коли я дивлюся на каталог користувачів (у Windows).

Дивна річ, що в ANDROID_SDK_ROOT також є папка Android-sdk, тому я подумав, що, можливо, Eclipse шукає там. Копаючи підпапки, я зрозумів, що каталог виглядає приблизно так:

android-sdk-windows\system-images\android-22\google_apis\armeabi-v7a

Цей каталог знаходиться на ANDROID_SDK_ROOT. Також є інший, що знаходиться в каталозі користувача користувача / XXXX / android-sdk /.

Затемнення тут очікує:

android-sdk-windows\system-images\android-22\default\armeabi-v7a

Просто змінив каталог як такий і він працює зараз.


0

Оновіть у командному рядку наступні команди у вікні:

i) оновлення Android sdk --no-ui --all // Оновлення ваших пакетів SDK і займає 3 хвилини. ii) оновлення android sdk --no-ui --filter platform-tools, інструменти // Оновлення інструментів платформи та її пакетів. iii) оновлення для Android sdk --no-ui --all --filter extra-android-m2repository // Ті, хто працює з проектом Maven, оновлюють це для підтримки найсвіжішої бібліотеки дизайну підтримки, яка буде включати додаткові сховища Maven для android maven.

1) У командному рядку він запитує Y / N. Натисніть на Y, після чого він перейде до встановлення. 2) Він оновлює всі файли Kernel-qemu та команди qt5.dll. так що емулятор працює нормально без жодних питань.



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