Сообщение об ошибке эмулятора Android: "паника: отсутствует программа Emulator engine для процессоров x86."

Я пытаюсь запустить эмулятор Android с помощью AVD Manager. это мой avd: http://image-upload.de/image/fnx79V/52b0d050ee.png

и это то, что происходит, начиная:

http://image-upload.de/image/vGpQfa/e912d83939.png

у меня есть MacBook Pro Retina. Установлен драйвер Haxm непосредственно со страницы intel.

эмулятор не работает. Все то же сообщение "Ошибка".

Запуск Команды (Эта ошибка была, когда я использовал Homebrew для установки Android-sdk и Android-platform-tools | любой, кто получает ту же проблему, должен удалить это или посмотреть, где конфликт)

export ANDROID_EMULATOR_DEBUG=1 test20

emulator:Found AVD name 'test20'
emulator:Found AVD target architecture: x86
emulator:Looking for emulator-x86 to emulate 'x86' CPU
emulator:Probing program: ./emulator-x86
emulator:Probing path for: emulator-x86
emulator:Found target-specific emulator binary: /usr/local/bin/emulator-x86
emulator:Probing for: /usr/local/bin/libOpenglRender.dylib
emulator:Probing for: /usr/local/bin/lib/libOpenglRender.dylib
emulator:Probing for: /usr/local/lib/libOpenglRender.dylib
emulator:Probing for: /usr/local/bin/lib64OpenglRender.dylib
emulator:Probing for: /usr/local/bin/lib/lib64OpenglRender.dylib
emulator:Probing for: /usr/local/lib/lib64OpenglRender.dylib
emulator:Could not find OpenGLES emulation host libraries!
emulator: ERROR: This AVD's configuration is missing a kernel file!!

emulator -avd test21
emulator:Found AVD name 'test21'
emulator:Found AVD target architecture: x86_64
emulator:Looking for emulator backend for x86_64 CPU
emulator:Probing program: ./emulator-x86_64
emulator:Probing path for: emulator-x86_64
emulator:Looking for emulator-x86 to emulate 'x86_64' CPU
emulator:Probing program: ./emulator-x86
emulator:Probing path for: emulator-x86
PANIC: Missing emulator engine program for 'x86_64' CPUS.

после того, как я исправил проблему с Homebrew:

я попробовал немного вокруг и нашел это:

emulator64-x86 -avd test20
Creating filesystem with parameters:
    Size: 69206016
    Block size: 4096
    Blocks per group: 32768
    Inodes per group: 4224
    Inode size: 256
    Journal blocks: 1024
    Label: 
    Blocks: 16896
    Block groups: 1
    Reserved block group size: 7
Created filesystem with 11/4224 inodes and 1302/16896 blocks
emulator: ERROR: Could not load OpenGLES emulation library: dlopen(lib64OpenglRender.dylib, 1): image not found
emulator: WARNING: Could not initialize OpenglES emulation, using software renderer.
HAX is working and emulator runs in fast virt mode
qemu: could not load PC BIOS 'bios.bin'

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

запустить эмулятор в режиме отладки:

export ANDROID_EMULATOR_DEBUG=1 emulatorName

если есть путь, который выглядит странно проверьте наличие других установок, таких как Homebrew и удалите конфликт (удалите один)

если библиотека отсутствует, вам нужно экспортировать переменную:

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ANDROID_HOME/tools/lib

и когда ошибка " qemu: не удалось загрузить bios ПК BIOS.bin '" появляется, одно исправление-запустить эмулятор с полным путем:

/Applications/Android Studio.app/sdk/tools/emulator64-x86 -avd test20
In your case it is maybe a other path.

16 ответов


для меня работала следующая работа по запуску эмулятора-x86:

cd $SDK/tools; 
ln -s emulator64-x86 emulator-x86

или на Windows Win + X > Командная Строка (Admin)

cd %ANDROID_SDK_ROOT%\tools
mklink emulator64-x86.exe emulator-x86.exe

и теперь эмулятор начнется с менеджера SDK.

Примечание: эмуляторы расположенная в в более поздних версиях.


если вы используете macOS, добавьте оба Android SDK emulator и tools каталоги по пути:

Шаг 1: в моем случае порядок был важен, во-первых emulator а то tools.

export ANDROID_SDK=$HOME/Library/Android/sdk
export PATH=$ANDROID_SDK/emulator:$ANDROID_SDK/tools:$PATH

Шаг 2: перезагрузить вы .bash_profile или .bashrc в зависимости от ОС

Шаг 3: получить список доступных эмуляторов: $emulator -list-avds

Шаг 4: запустить эмулятор из командной строки и Заменить avd С именем вашего эмулятора $emulator @avd

не забудьте добавить @ символ.

это было протестировано с macOS High Sierra 10.13.4 и Android Studio 3.1.2.


перейдите к папке эмулятора, расположенной в Android SDK folder / emulator

cd ${ANDROID_HOME}/emulator

затем введите эту команду, чтобы открыть эмулятор без Android studio:

- - -

$ ./ эмулятор-list-avds

$ ./ эмулятор-avd Nexus_5X_API_28_x86

[Nexus_5X_API_28_x86] мой AVD [вам нужно дать свое имя AVD]


попробуйте выполнить следующую работу для запуска эмулятора-x86:

export LD_LIBRARY_PATH=$SDK/tools/lib:$LD_LIBRARY_PATH
$SDK/tools/emulator-x86 <your-other-options>

где $SDK-это путь к вашей установке SDK. Это в двух словах то, что пытается сделать "эмулятор". Возможно,вы захотите запустить emulator64-x86 вместо emulator-x86, если первый существует.


имел ту же проблему на Windows7 64bit. Причина, почему он не пропал emulator-x86.exe файл под sdk / tools. Исправлено путем удаления Android SDK Tools с помощью Android SDK Manager и установки его снова. Файл теперь существует, и эмулятор работает так, как ожидалось.


Avast Antivirus воспринимает эмулятор-arm.exe как поток и блокировка по некоторым причинам. Когда вы добавляете исключения на странице Virus Chest с правой кнопкой мыши - > "восстановить и добавить к исключениям", это не решается в будущих запусках. Чтобы решить это навсегда в Avast 2015:

настройки-->

Активная Защита ->

Экран Файловой Системы ->

настроить ->

исключения затем добавить поток в качестве исключения . А затем нажмите ладно.


Для Windows 10, 5.29.18:

используя команду promt я только что попал в каталог эмулятора:
компакт-диск C:\Android\sdk\emulator ,
а потом набрал команду:
эмулятор-avd Nexus_S_API_27
(кстати, Nexus_S_API_27is имя моего пользовательского эмулятора )).

Othewize он будет злоупотреблять :
PANIC: отсутствует программа Emulator engine для процессора x86.
).


вы также можете попробовать то, что предлагается здесь: https://www.stkent.com/2017/08/10/update-your-path-for-the-new-android-emulator-location.html

для краткости, запустите эмулятор из sdk/emulator папку


есть два имени emulator двоичный файл. который находится под $SDK / tools / emulator другой под $SDK / emulator/

  • пожалуйста, убедитесь, что у вас есть правильная настройка эмулятора (нужно добавить $SDK/emulator в U env PATH

Я написал скрипт, который поможет мне вызвать список avd

#!/bin/bash -e


echo "--- $# $(PWD)"
HOME_CURRENT=$(PWD)
HOME_EMULATOR=/Users/pcao/Library/Android/sdk/emulator

if [ "$#" -eq 0 ]
then
    echo "ERROR pls try avd 23 or avd 28 " 
fi

if [ "" = "23" ]
then
    echo "enter 23"
    cd $HOME_EMULATOR
    ./emulator -avd Nexus_5_API_23_Android6_ &
    cd $HOME_CURRENT
fi

if [ "" = "28" ]
then
    echo "enter 28"
    cd $HOME_EMULATOR
    ./emulator -avd Nexus_5_API_28_GooglePlay_ &
    cd $HOME_CURRENT
fi

на Mac после установки Android Studio IDE android-studio-ide-173.4907809-mac.dmg и использование studio SDK Manager для установки SDK Tools

enter image description here

добавить в свой путь с помощью ~/.profile или ~/.bash_profile и $ANDROID_HOME/emulator в своем $PATH до $ANDROID_HOME/tools вот так:

export ANDROID_HOME=$HOME/Library/Android/sdk
export PATH=$PATH:$ANDROID_HOME/emulator
export PATH=$PATH:$ANDROID_HOME/tools
export PATH=$PATH:$ANDROID_HOME/tools/bin
export PATH=$PATH:$ANDROID_HOME/platform-tools

alias androidemulator='emulator -avd Nexus_5X_API_28_x86'

вы не можете запустить каталог emulator-x86, потому что он должен иметь настройку LD_LIBRARY_PATH специально для поиска библиотек эмуляции Bios и GPU для ПК (поэтому существует "эмулятор", он изменяет путь, затем вызывает emulator-x86).

вы обновили первый выход ? Похоже, "эмулятор" все еще находит "/ usr / local/bin / emulator-x86"


удалите оба Android SDK Tools и Android SDK PLatform-tools; затем загрузите оба пакета снова. Теперь создайте новый эмулятор и запустите его; он будет работать. Возможно, вы сможете запустить ваши старые эмуляторы.


у меня была эта проблема после обновления Android Studio до 3.2 и даже обновления некоторых SDK-пакетов.

причиной было то, что путь к эмулятору изменилось, поэтому не используйте ...../Android/Sdk/tools/emulator но вместо ....../Android/Sdk/emulator/emulator.


это сообщение означает, что программа "emulator-x86" или "emulator64-x86" отсутствует в $SDK/tools/ или не может быть найдена по какой-либо причине.

прежде всего, вы уверены, что у вас есть действительная загрузка / установка SDK?


увидеть, если ваш .exe-файл находится в вашем антивирусном карантине

решение : 1-Загрузите ADT-bundle снова изhttps://developer.android.com/tools/sdk. 2-Откройте Zip-файл. 3 - скопировать недостающие .exe файлы из папки "\sdk\tools". 4-мимо скопированных файлов в каталоге "Android\sdk\tools".


это сработало для меня на macOS:

echo 'export PATH=$PATH:'$HOME'/Library/Android/sdk/emulator:'$HOME'/Library/Android/sdk/tools:'$HOME'/Library/Android/sdk/platform-tools' >> ~/.bash_profile
source ~/.bash_profile