it-swarm.dev

Mac ve "PANIC: 'arm' CPU için eksik emülatör motor programı."

Galaxy Nexus'ta API 16 için oluşturduğum bir AVD'yi çalıştırmaya çalışıyorum:

emulator @Galaxy_Nexus_Jelly_Bean_API_16

hangi hata veriyor

PANİK: 'Arm' CPU için eksik emülatör motor programı.

Android Studio içindeki AVD Yöneticisi'nden oynat düğmesine basarak başlatmaya çalışmak, araç dock'unda kısaca bir şey salıyor, ancak hızlı bir şekilde yok oluyor ve hiçbir şey görünmüyor ve bariz bir hata mesajı yok.

Benzer sorunları olan diğer yayınlara baktım. Çoğu, Windows'ta Avast'ın soruna neden olduğunu belirtti. Mac üzerinde koşuyorum. Avast yüklü değil.

AVD aşağıdaki yapılandırmaya sahiptir:

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 ortamı:

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 Yöneticisi'nde mevcut olan bu SDK sürümü için her şeyi yükledim:

 enter image description here

Taklit edilen emülatörün en son sürümüne sahibim. Kaldırma ve yeniden yüklemeyi denedim.

 enter image description here

Android_HOME ortam değişkeni doğru ayarlanmış gibi görünüyor (SDK Yöneticisindeki Android SDK location ile eşleşiyor. emulator programı bu ev ortamında da aynı gibi görünüyor:

 Mulan: ~ mahkum $ echo $ Android_HOME 
/Kullanıcılar/mahkum/Kütüphane/Android/sdk 
 Mulan: ~ mahkum $ hangi emulator
/Users/prisoner/Library/Android/sdk/tools/ emülatör 

Söyleyebileceğim kadarıyla, emülatör ve mimariye özgü emülatörler de Android_HOME'da bulunuyor:

 enter image description here

Ya hata mesajları ya da oradaki emülatör için başka nereye bakılacağı konusunda kayboldum, ancak sistem tarafından bulunamıyor ya da sorunu başka nasıl ele alacağımı.

Güncelleme 1: Yolu açıkça belirtin.

Yolları açıkça belirtmeye çalışmak da işe yaramıyor:

 Mulan: ~ mahkum $/Kullanıcılar/mahkum/Kütüphane/Android/sdk/araçlar/emülatör @ Galaxy_Nexus_Jelly_Bean_API_16 
 PANİK: 'arm' CPU için eksik emülatör motor programı .
 Mulan: ~ prisoner $/Users/mahkum/Kütüphane/Android/sdk/emulator/emulator @ Galaxy_Nexus_Jelly_Bean_API_16 
 emulator: HATA: Bu AVD yapılandırmasında bir çekirdek dosyası eksik! Lütfen "kernel-qemu" dosyasının sistem resminizle aynı konumda olduğundan emin olun .
 Emulator: ERROR: Android_SDK_ROOT undefined 

Tabii ki, Android_SDK_ROOT tanımlanmadı. Android_HOME ile aynı şeyi tanımlamak aşağıdakileri yapar:

 Mulan: ~ mahkum $ ihracat Android_SDK_ROOT = "$ Android_HOME" 
 Mulan: ~ mahkum $/Kullanıcılar/mahkum/Kütüphane/Android/sdk/emulator/emülatör @ Galaxy_Nexus_Jelly_Bean_API_16 
 bir çekirdek dosyası eksik! Lütfen "kernel-qemu" dosyasının sistem resminizle aynı konumda olduğundan emin olun .
 Emulator: ERROR: Android_SDK_ROOT tanımlandı (/ Kullanıcılar/mahkum/Kütüphane/Android/sdk),// mahkum/Kütüphane/Android/sdk/sistem görüntüleri/alt dizinler 

system-images dizini altına baktığımızda, her API platformu için bir dizin görüyoruz:

 Mulan: ~ mahkum $ ls ~/Kütüphane/Android/sdk/sistem görüntüleri /
-Android-16 Android-19 Android-23 Android-26 Android-26 Android-17 Android-21 Android-24 Android- 27 
 Android-18 Android-22 Android-25 Android-28 

Sadece Android-16 dizini altına bakıyoruz.

./default 
./default/armeabi-v7a 
./default/armeabi-v7a/build.prop 
./default/armeabi-v7a/kernel qemu 
./default /armeabi-v7a/NOTICE.txt
./default/armeabi-v7a/package.xml
./default/armeabi-v7a/ramdisk.img
./default/armeabi-v7a/source.properties 
./default/armeabi-v7a/system.img 
./default/armeabi-v7a/userdata.img 
./default/mips 
./default/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 
./default/x86/çekirdek qemu 
./default/x86/çekirdek Ranchu 
./default/x86/NOTICE.txt 
./default/x86/Package.xml 
./default/x86/ramdisk.img 
./default/x86/source.properties 
./default/x86/system.img 
./default/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'imde denedim ve doğruladım, bu sorunu çözmek için -kernel yolunu elle belirtmeniz gerekir. diğer bir deyişle 

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

Sizin için bazı referanslar: 

  1. Emulator hatası: Bu AVD yapılandırmasında bir çekirdek dosyası eksik

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

--- Düzenle ---

Her zaman -kernel argümanını yazmaktan kaçınmak için, ~/Library/Android/sdk/system-images/Android-16/default/armeabi-v7a/kernel-qemu dosyasını ~/Library/Android/sdk/add-ons/addon-google_apis-google-16/images/armeabi-v7a dosyasına kopyalayabilirsiniz.

2
shizhen

Belki öykünücüsü aracı yolu sorunu. Emülatör yolunuzun tam yolunu belirlemeye çalışın. 

Cevabı buradan deneyin. Windows emulator.exe PANİK: 'x86' CPU için eksik emülatör motor programı

0
user10189678