Эта проблема была обнаружена, когда я попытался запустить эмулятор Android в Eclipse. Не могу понять, что случилось. Я искал в Интернете решение, но оно казалось расплывчатым, и я не совсем понимаю. Я следовал инструкциям по установке AVD в соответствии с сайтами и не могу понять, что я пропустил. Пожалуйста, объясните мне это по шагам, чтобы следовать.
Ошибка эмулятора: в этой конфигурации AVD отсутствует файл ядра
Ответы (22)
Должен быть доступен «Системный образ ARM EABI v7a». Установите его через менеджер Android SDK:
Еще одна подсказка (см. здесь) - с
- Android SDK Tools версии 17 или выше
- Android 4.0.3 (уровень API 15)
- с использованием SDK rev 3 и System Image rev 2 (или выше)
вы можете включить эмуляцию графического процессора, чтобы получить более быстрый эмулятор:
Примечание. Согласно комментарию 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. Вы можете найти эмулятор здесь.
Другая причина, по которой вы можете получить эту ошибку, заключается в том, что 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
с неправильным путем.
Моя история: 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
", и это сработало...
У меня такая же проблема. В моем случае оказалось, что я установил другую версию SDK вместе с версией, предоставленной Android Studio. Изменение моей переменной среды ANDROID_SDK_ROOT на исходное значение исправило это для меня.
Вот моя история. В разделе «Действия» в диспетчере 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 заработал.
Откройте AVD Manager в режиме администратора. Выберите виртуальную машину и нажмите «Изменить», нажмите «ОК». Запустить виртуальную машину.
Примечание редактора: под режимом администратора он имел в виду «Щелкните правой кнопкой мыши» > «Запуск от имени администратора» на платформах Windows.
Если вы знаете, что файл ядра установлен на вашем компьютере, проблема заключается в том, чтобы заставить 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. Это решило проблему!
Убедитесь, что вы также правильно настроили эмулируемое устройство. Android Studio может поставляться с устройством, которое отображается в списке эмулируемых устройств, но не настроено для работы с используемой вами версией SDK.
Попробуйте создать новое эмулируемое устройство в AVD Manager (Tools->Android>AVD Manager) и выберите его в качестве цели.
Вчера я установил диспетчер Android SDK и Android SDK, и я тоже получаю эту ошибку, когда пытаюсь немедленно запустить эмулятор Android. Но прямо сейчас эта ошибка исчезла, я думаю, что перезагрузка вашей системы после установки SDK может решить эту проблему.
После долгого дня ремонта/восстановления/обновления SDK/NDK и JDK мне пришла в голову одна гениальная мысль. Необходимо изучить переменные среды, так как исправление для моего отсутствующего файла ядра AVD «GalaxyS3» заключалось в расширении ссылки на системные изображения до абсолютной.
image.sysdir.1 = C:\Android\sdk\system-images\android-19\armeabi-v7a\
Добавление «C:....sdk\» к записи «image.sysdir.1=» в файле «workspace».android\avd\GalaxyS3.avd\config.ini решило проблему (на данный момент).
Я обновил свой Android SDK до последней версии (API 19). Когда я попытался запустить эмулятор с phonegap 3, сборка прошла успешно, но возникла та же проблема.
В AVD менеджере было существующее устройство, но все его параметры были неизвестны. Конечно, это происходит из-за того, что я удалил старую версию SDK (API 17), которая возвращает вторую ошибку при попытке удалить устройство. С сообщением: "устройство уже запущено"
Чтобы решить эту проблему, я перешел к местоположению AVD в ~/.android/avd/ и вручную удалил каталог устройства .avd и файл device.ini. Наконец, в диспетчере устройств я создал новый AVD с новейшим API.
Это позволило phonegap успешно построить и запустить эмулятор.
надеюсь, это поможет
Добрый день
После принятого ответа ChrLipp с использованием Android Studio 1.2.2 в Ubuntu 14.04:
- Установите пакет «ARM EABI v7a System Image» из менеджера Android SDK.
- Удалите нефункциональное виртуальное устройство.
- Добавьте новое устройство с бинарным интерфейсом приложений (ABI) как armeabi-v7a.
- Загрузитесь в новое устройство.
Это сработало для меня. Попробуйте перезагрузить систему, если она у вас не работает.
См. мой ответ для среды 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/
.
Если вы получаете эту ошибку при попытке создать эмулятор для Android 11 или Android 10+ (API 30), убедитесь, что вы обновили эмулятор до последней версии. Вы можете сделать это из Инструменты->Диспетчер SDK->Инструменты SDK
Я попробовал то, что предложил ChrLipp, но проблема была не в этом, так как образ уже был установлен. То, что я сделал, было запущено:
android avd
запустить эмулятор вручную. Затем я остановил эмулятор и сформировал эту точку на
cca emulate android
Приложение заработало без ошибки "отсутствует файл ядра".
Я исправил эту проблему, просто добавив переменную среды ANDROID_SDK_ROOT, в моем случае она находилась в C:\Users\fera\AppData\Local\Android\sdk.
В моем собственном случае у меня было несколько ошибок, большинство из которых были связаны с неправильной настройкой 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\
Если вы заметили, путь Android SDK, показанный выше, отличается от обычного Android SDK по умолчанию, мне пришлось переместить его в C:/androidsdk, чтобы избежать проблем с NDK, поскольку мой основной ПОЛЬЗОВАТЕЛЬСКИЙ ДОМАШНИЙ на моем ПК имеет пробелы которые NDK может не поддерживать.
ПРИМЕЧАНИЕ. Перемещение каталога SDK из каталога по умолчанию обычно является причиной этих ошибок, которые выдает эмулятор AVD, особенно в отношении неработающего и неправильно настроенного пути. Исправление, которое я предоставил выше, является быстрым исправлением, возможно, вам придется делать это каждый раз, когда вы создаете новое устройство в эмуляторе AVD.
Это исправление также должно работать при работе с CMD с помощью Cordova .
Просто хотел поделиться своим опытом решения этой проблемы. Проконсультировавшись с каждым из ответов здесь, это не соответствовало моей ситуации. Наличие системного образа для 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/.
Eclipse ожидает его здесь:
android-sdk-windows\system-images\android-22\default\armeabi-v7a
Просто изменил каталог как таковой, и теперь он работает.
Обновите следующие команды в командной строке Windows:
i) android update sdk --no-ui --all // Обновление пакетов SDK занимает 3 минуты. ii) android update sdk --no-ui --filter platform-tools,tools // Обновляет инструменты платформы и ее пакеты. iii) android update sdk --no-ui --all --filter extra-android-m2repository // Те, кто работает с проектом maven, обновляют это, чтобы поддерживать последнюю библиотеку дизайна поддержки, которая будет включать дополнительный репозиторий maven android maven.
1) В командной строке запрашивает Y/N. Нажмите Y, после чего установка продолжится. 2) Обновляет все файлы Kernel-qemu и команды qt5.dll. так что эмулятор работает нормально без каких-либо проблем.
Был файл с именем kernel-ranchu , я переименовал его в kernel-qemu.
Это решило мою проблему. Спасибо.
Я решил это, обновив SDK Tools и Platform-tools в Android SDK Manager до последней версии.