Ошибка эмулятора: в конфигурации этого AVD отсутствует файл ядра

183

Эта проблема была обнаружена при попытке запустить эмулятор Android в Eclipse. Не могу понять, что случилось. Я искал в Интернете решение, но оно казалось расплывчатым, и я не совсем понял. Я следовал инструкциям по установке AVD в соответствии с сайтами, и я не могу понять, что я пропустил. Пожалуйста, объясните это мне в следующих шагах.

shoujo_sm
источник
та же проблема: stackoverflow.com/questions/8190820/scala-android-newbie - создать новый AVD
zapl
1
На маке до сих пор не смог его запустить; использование ремонта на AVD сработало для меня stackoverflow.com/a/15971119/664220
Ронни
перезапуск Eclipse после установки образа ARM, а затем создание нового AVD работали для меня.
Симон
Может быть, эта ссылка может помочь: developer.android.com/tools/help/avd-manager.html
Abhijeet

Ответы:

254

«Образ системы ARM EABI v7a» должен быть доступен. Установите его через менеджер Android SDK: Android SDK manager

Еще одна подсказка (см. Здесь ) - с

  • Android SDK Tools версия 17 или выше
  • Android 4.0.3 (уровень API 15)
  • используя SDK rev 3 и System Image rev 2 (или выше)

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

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

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

Альтернатива 2
В комментариях к посту выше вы можете найти ссылку на Genymotion, который претендует на звание «самого быстрого эмулятора Android для тестирования и презентации приложений». Genymotion работает на VirtualBox. Смотрите также их сайт в Google+ , этот пост от Кирилла Мотье и это руководство по Reddit .

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

Альтернатива 4
... эта запись на форуме XDA: Как использовать БЫСТРО! BlueStack как альтернативный эмулятор разработки Android . Вы можете найти эмулятор здесь .

ChrLipp
источник
1
К сожалению, сбой на некоторых картах ATI при включенной эмуляции графического процессора - с нетерпением жду обновленного эмулятора.
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, он работает.
Ноэль Ай
Это было для меня. Моя среда сборки использует один ANDROID_SDK_ROOT, который я не могу легко обновить. Исправление состояло в том, чтобы запустить чистую командную строку и установить ANDROID_SDK_ROOT в правильное и запустить менеджер SDK оттуда.
Дуг Кобурн
Дважды проверьте, что у вас случайно не установлено две копии SDK. Если вы похожи на меня, вы устанавливали «Образ системы ARM EABI v7a» в одном экземпляре, но AVD пытался найти его в другом экземпляре. Я удалил одну из своих копий SDK, а затем мой эмулятор запустился.
Sffc
В моем случае моя папка SDK указывает на правильный каталог.
Neon Warge
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", и это сработало ...

jptsetung
источник
4
В моем случае все было наоборот
urnenfeld
15

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

nerdinand
источник
1
Важно отметить, что этот ответ одинаково действителен в качестве основного ответа в случае, когда SDK был ранее установлен до Android Studio. Ошибка заключается в том, что Android Studio должна заметить, что ANDROID_SDK_ROOT уже установлен в альтернативное местоположение, и предупредить пользователя во время установки.
Core
Суть правильная. Я переключился с 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 тогда работал.

CKP78
источник
Спасибо, это решило это! Я думаю, что это должно быть ошибка или что-то еще, потому что это очень странное поведение
Хьюго
7

Откройте диспетчер AVD в режиме администратора. Выберите ВМ, нажмите «Изменить», нажмите «ОК». «Запуск ВМ».

Примечание редактора : под режимом администратора он имел в виду Правый клик> Запуск от имени администратора на платформах Windows.

user3313044
источник
Что / где находится «Режим администратора»?
ericpeters0n
Не могу найти виртуальную машину, для Mac OS
Фрэнк Фанг,
4

Если вы знаете, что файл ядра установлен на вашем компьютере, проблема заключается в том, что emulator.exe его находит.

Мое исправление было основано на посте пользователя2789389. Я мог запустить AVD из AVD Manager, но не из командной строки. Итак, используя AVD Manager, я выбрал avd, который хотел запустить, и нажал «Подробности». Это показало мне путь к файлу определения AVD. В папке с тем же именем, рядом с этим файлом .avd, я нашел файл config.ini. В 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. Это решило проблему!

BuvinJ
источник
Это не исправило это. В моем случае у меня есть изображение системы в подпапке по умолчанию.
Неоновая Варжа
Вам не нужно голосовать против меня, потому что у вас другая проблема! Это не делает мой ответ неправильным.
BuvinJ
Вы тоже проголосовали за все остальные посты здесь, потому что они не решили вашу проблему?
BuvinJ
Это решило проблему для меня, я бегу в Mac, и путь указывал на image.sysdir.1 = add-ons / addon-google_apis-google-16 / images / armeabi-v7a, переходя на system-images / android -16 / default / armeabi-v7a решил проблему
Фелипе Июн
3

Убедитесь, что вы также правильно настроили эмулируемое устройство. Android Studio может поставляться с тем, который отображается в списке эмулируемых устройств, но не настроен для работы с используемой версией SDK.

Попробуйте создать новое эмулируемое устройство в AVD Manager (Инструменты-> Android> AVD Manager) и выберите его в качестве цели.

kmantel
источник
Попытка пойти по этому пути, дайте мне знать, что HAXM на самом деле не был установлен, хотя он показал, что это было. Мне было предложено установить Intel HAXM.
Лодлейден
2

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

Джек Ху
источник
2

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

image.sysdir.1 = C: \ Android \ SDK \ система-образы \ андроида-19 \ armeabi-v7a \

Добавление «C: .... sdk \» к записи «image.sysdir.1 =» в файле «workspace» .android \ avd \ GalaxyS3.avd \ config.ini решило проблему (на данный момент).

user2789389
источник
2

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

В диспетчере AVD было существующее устройство, тем не менее, все его параметры были неизвестны. Конечно, это происходит потому, что я удалил старую версию SDK (API 17), которая возвращает вторую ошибку при попытке удалить устройство. С сообщением: «устройство уже запущено»

Чтобы решить эту проблему, я зашел в папку AVD в ~ / .android / avd / и вручную удалил каталог directory.avd и файл device.ini. Наконец, в диспетчере устройств я создал новый AVD, предоставленный новейшим API.

Это позволило PhoneGap успешно построить и запустить эмулятор

надеюсь, это поможет

Добрый день

snaphuman
источник
2

Следуя принятому ответу ChrLipp с помощью Android Studio 1.2.2 в Ubuntu 14.04:

  • Установите пакет «Образ системы ARM EABI v7a» из диспетчера Android SDK.
  • Удалите неработающее виртуальное устройство.
  • Добавьте новое устройство с Application Binary Interface (ABI) как armeabi-v7a.
  • Загрузитесь в новое устройство.

Это сработало для меня. Попробуйте перезагрузить систему, если она не работает для вас.

Маню
источник
2

См. Мой ответ для среды Android Studio , Mac и «PANIC: отсутствует программа-движок эмулятора для процессора 'arm" ». ,

Чтобы решить эту проблему, вам нужно указать -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/ .

Shizhen
источник
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 ** система-образы \ андроида-28 \ google_apis_playstore \ x86 \

Если вы заметили, что путь android sdk, показанный выше, отличается от обычного android sdk по умолчанию, мне пришлось переместить его в C: / androidsdk, чтобы избежать проблем с NDK, так как мой основной USER HOME на моем ПК имеет пробелы, которые NDK может не поддерживать.

ПРИМЕЧАНИЕ. Перемещение каталога SDK из каталога по умолчанию обычно является причиной этих ошибок, которые выдает AVD-эмулятор, особенно в том, что касается неверного или неправильно настроенного пути. Исправление, которое я предоставил выше, является быстрым, возможно, вам придется делать это каждый раз, когда вы создаете новое устройство в эмуляторе AVD.

Это исправление также должно работать при работе на CMD с Cordova.

Akintunde
источник
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. Есть также еще один, который находится в каталоге пользователя user / XXXX / android-sdk /.

Затмение ожидает этого здесь:

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

Просто поменял каталог как таковой и теперь он работает.

Неон Вардж
источник
0

Обновите следующие команды в командной строке в Windows:

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

1) В командной строке он запрашивает Y / N. Нажмите на Y, после чего он приступает к установке. 2) Обновляет все файлы Kernel-qemu и команды qt5.dll. так что эмулятор работает нормально без проблем.

user12654796
источник
-1

Обновление SDK Tools для меня исправило ошибки.

Снимок экрана с ошибками и ходом обновления

Фазаль Арья
источник
-1

Я решил эту проблему, обновив SDK Tools и Platform-tools в Android SDK Manager до последней версии.

Александр Андраде
источник