it-roy-ru.com

Mac и "PANIC: отсутствует программа-эмулятор движка для процессора 'arm'".

Я пытаюсь запустить AVD, который я создал для API 16 на Galaxy Nexus:

emulator @Galaxy_Nexus_Jelly_Bean_API_16

который дает ошибку

ПАНИКА: отсутствует программа-эмулятор движка для процессора 'arm'.

Попытка запустить его нажатием кнопки воспроизведения из AVD Manager внутри Android Studio что-то ненадолго подпрыгивает в панели инструментов, но быстро исчезает, и ничего не появляется, и нет явных сообщений об ошибках.

Я просмотрел другие посты с похожими проблемами. Большинство приводят Avast в Windows как причину проблемы. Я бегу на Mac. У меня не установлен Avast.

AVD имеет следующую конфигурацию:

Name: Galaxy_Nexus_Jelly_Bean_API_16
CPU/ABI: Google APIs ARM (armeabi-v7a)
Path: /Users/prisoner/.Android/avd/Galaxy_Nexus_API_16.avd
Target: google_apis [Google APIs] (API level 16)
Skin: galaxy_nexus
SD Card: 100 MB
hw.dPad: no
hw.lcd.height: 1280
runtime.network.speed: full
hw.accelerometer: yes
hw.device.name: Galaxy Nexus
vm.heapSize: 80
skin.dynamic: yes
hw.device.manufacturer: Google
hw.lcd.width: 720
hw.gps: yes
hw.initialOrientation: Portrait
image.androidVersion.api: 16
hw.audioInput: yes
image.sysdir.1: add-ons/addon-google_apis-google-16/images/armeabi-v7a/
hw.cpu.model: cortex-a8
tag.id: google_apis
showDeviceFrame: yes
hw.camera.back: virtualscene
hw.mainKeys: no
AvdId: Galaxy_Nexus_Jelly_Bean_API_16
hw.camera.front: emulated
hw.lcd.density: 320
avd.ini.displayname: Galaxy Nexus Jelly bean API 16
hw.arc: false
hw.gpu.mode: auto
hw.device.hash2: MD5:5c288d27461585ecc73a535555e7cf61
hw.ramSize: 1024
hw.trackBall: no
PlayStore.enabled: false
fastboot.forceColdBoot: no
hw.battery: yes
hw.cpu.ncore: 4
hw.sdCard: no
tag.display: Google APIs
runtime.network.latency: none
hw.keyboard: yes
hw.sensors.proximity: yes
disk.dataPartition.size: 800M
hw.sensors.orientation: yes
avd.ini.encoding: UTF-8
hw.gpu.enabled: yes

Среда Android Studio:

Android Studio 3.1.4
Build #AI-173.4907809, built on July 23, 2018
JRE: 1.8.0_152-release-1024-b01 x86_64
JVM: OpenJDK 64-Bit Server VM by JetBrains s.r.o
Mac OS X 10.12.6

Я установил все для этой версии SDK, доступной в SDK Manager:

 enter image description here

У меня установлена ​​последняя версия эмулятора. Я пытался удалить и переустановить его.

 enter image description here

Похоже, что переменная среды Android_HOME установлена ​​правильно (она соответствует Android SDK location в SDK Manager. Программа emulator также выглядит так же в этой домашней среде:

 Мулан: ~ пленник $ echo $ Android_HOME 
/Пользователи/пленник/Библиотека/Android/sdk 
 Мулан: ~ пленник $, который эмулятор 
/Users/prisoner/Library/Android/sdk/tools/ эмулятор 

Насколько я могу судить, эмулятор и эмуляторы для конкретной архитектуры также находятся под Android_HOME:

 enter image description here

Я в недоумении, где еще искать сообщения об ошибках или эмуляторе, который не найден системой, или как еще решить проблему.

Update 1: укажите путь явно.

Попытка указать пути явно не работает:

 Мулан: ~ заключенный $/Пользователи/заключенный/Библиотека/Android/sdk/tools/emulator @ Galaxy_Nexus_Jelly_Bean_API_16 
 ПАНИКА: отсутствует программа движка эмулятора для процессора 'arm' .
 Мулан: ~ заключенный $/Пользователи/Заключенный/Библиотека/Android/SDK/эмулятор/эмулятор @ Galaxy_Nexus_Jelly_Bean_API_16 
 эмулятор: ОШИБКА: в конфигурации этого AVD отсутствует файл ядра! Убедитесь, что файл «kernel-qemu» находится в том же месте, что и образ вашей системы. Эмулятор эмулятора: ОШИБКА: Android_SDK_ROOT не определен 

Конечно же, Android_SDK_ROOT не определен. Определение его для того же, что и Android_HOME, делает следующее:

 Мулан: ~ заключенный $ export Android_SDK_ROOT = "$ Android_HOME" 
 Мулан: ~ заключенный $/Пользователи/заключенный/Библиотека/Android/sdk/эмулятор/эмулятор @ Galaxy_Nexus_Jelly_Bean_API_16 
 Эмулятор: ОШИБКА: конфигурация этого AVD является отсутствует файл ядра! Убедитесь, что файл «kernel-qemu» находится в том же месте, что и образ вашей системы. Эмулятор: ошибка: определен Android_SDK_ROOT (/ Users/Заключенный/Library/Android/sdk), но не удается найти файл ядра в/Users/Узник/Библиотека/Android/SDK/system-images/подкаталоги 

Посмотрев под каталогом system-images, мы увидим каталог для каждой платформы API:

 Мулан: ~ пленник $ ls ~/Библиотека/Android/sdk/system-images /
 Android-16 Android-19 Android-23 Android-26 
 Android-17 Android-21 Android-24 Android-24 27 
 Android-18 Android-22 Android-25 Android-28 

Глядя прямо под каталогом Android-16, мы имеем

./по умолчанию 
./по умолчанию/armeabi-v7a 
./по умолчанию/armeabi-v7a/build.prop 
./по умолчанию/armeabi-v7a/ядра QEMU 
./по умолчанию /armeabi-v7a/NOTICE.txt
./default/armeabi-v7a/package.xml
./default/armeabi-v7a/ramdisk.img
./default/armeabi-v7a/source.properties 
./по умолчанию/armeabi-v7a/system.img 
./по умолчанию/armeabi-v7a/userdata.img 
./по умолчанию/MIPS 
./по умолчанию/MIPS/build.prop 
./default/mips/kernel-qemu
./default/mips/NOTICE.txt
./default/mips/package.xml
./default/mips/ramdisk.img
. /default/mips/source.properties
./default/mips/system.img
./default/mips/userdata.img
./default/x86
./default/x86/build .prop 
./по умолчанию/x86/ядра QEMU 
./по умолчанию/x86/ядро-Ranchu 
./по умолчанию/x86/NOTICE.txt 
./по умолчанию/x86/package.xml 
./по умолчанию/x86/ramdisk.img 
./по умолчанию/x86/source.properties 
./по умолчанию/x86/system.img 
./по умолчанию/x86/userdata.img 
./google_apis
./google_apis/x86
./google_apis/x86/advancedFeatures.ini
./google_apis/x86/build.prop
 ./google_apis/x86/kernel-qemu
./google_apis/x86/kernel-ranchu
./google_apis/x86/NOTICE.txt
./google_apis/x86/package.xml
./ google_apis/x86/ramdisk.img 
./google_apis/x86/source.properties 
./google_apis/x86/system.img 
./google_apis/x86/userdata.img 
5
Prisoner

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

Некоторые ссылки для вас: 

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

  2. https://developer.Android.com/studio/run/emulator-commandline

--- Редактировать ---

Чтобы не вводить аргумент -kernel каждый раз, вы также можете скопировать файл ~/Library/Android/sdk/system-images/Android-16/default/armeabi-v7a/kernel-qemu в ~/Library/Android/sdk/add-ons/addon-google_apis-google-16/images/armeabi-v7a.

2
shizhen

Возможно, это проблема пути инструмента эмулятора. Попробуйте указать полный путь вашего пути эмулятора. 

Попробуйте ответ отсюда. Windows emulator.exe PANIC: отсутствует программа движка эмулятора для процессора x86

0
user10189678