Öykünücü hatası: Bu AVD'nin yapılandırmasında bir çekirdek dosyası eksik


183

Eclipse'de Android emülatörünü çalıştırmaya çalıştığımda bu sorun keşfedildi. Ne olduğunu anlayamıyorum. Çevrimiçi olarak çözüm aradım, ancak belirsiz görünüyordu ve net bir şekilde anlamıyorum. AVD'yi sitelere göre yükleme adımlarını izliyordum ve neyi kaçırdığımı anlayamıyorum. Lütfen izleyen adımlarda bana açıklayın.



1
Bir mac üzerinde hala başlayamadı; AVD'de onarım kullanan benim için çalıştı stackoverflow.com/a/15971119/664220
Ronnie

ARM görüntüsünü kurduktan ve yeni bir AVD oluşturduktan sonra Eclipse'i yeniden başlatmak benim için çalıştı.
Simon

Bu bağlantı yardımcı olabilir: developer.android.com/tools/help/avd-manager.html
Abhijeet

Yanıtlar:


254

"ARM EABI v7a Sistem Görüntüsü" mevcut olmalıdır. Android SDK yöneticisi aracılığıyla yükleyin: Android SDK yöneticisi

Başka bir ipucu ( buraya bakın ) - ile

  • Android SDK Araçları rev 17 veya üstü
  • Android 4.0.3 (API Seviye 15)
  • SDK rev 3 ve System Image rev 2 (veya üstü) kullanarak

daha hızlı bir emülatör elde etmek için GPU öykünmesini açabilirsiniz: resim açıklamasını buraya girin

Not: Daha önce emülatör oluşturduysanız786 yorumuna göre yeniden oluşturmanız gerekir, aksi takdirde bu çalışmaz.

Alternatif 1
Intel, X86 görüntülerini yürütmek için VM tabanlı bir emülatör olan ve aynı zamanda Android SDK Yöneticisi tarafından sunulan " Intel donanım hızlandırmalı yürütme yöneticisi " sağlar. Intel emülatörü için bir eğiticiye bakın: HAXM Android Emülatörünü Hızlandırır . Roman Nurik mesajlar burada Android 4.3 ile Intel emülatörü "hızlı yanan" olduğunu söyledi.

Alternatif 2
Yukarıdaki yazının yorumlarında , "uygulama testi ve sunumu için en hızlı Android emülatörü" olduğunu iddia eden Genymotion'a bir referans bulabilirsiniz . Genymotion, VirtualBox üzerinde çalışır. Ayrıca Google + ' daki sitelerini, Cyril Mottier'den bu yayını ve reddit hakkındaki bu kılavuzu da görün .

Alternatif 3
XDA-Forumlarda MEmu - PC için En Güçlü Android Emülatörü, Daha İyi Bluestacks hakkında okudum . Emülatörü burada bulabilirsiniz . Bu beni ...

Alternatif 4
... bu XDA-Forum girişi: HIZLI nasıl kullanılır! Alternatif Android geliştirme emülatörü olarak BlueStack . Emülatörü burada bulabilirsiniz .


1
Ne yazık ki GPU öykünmesi açıldığında belirli ATI kartlarında çöküyor - güncellenmiş bir öykünücüyü dört gözle bekliyorum.
ChrLipp

23
Bu sorunu çözmek için taklitçiyi silmek ve yükledikten sonra yeniden oluşturmak zorunda olduğumu fark ettim.
you786

3
@ you786 evet yeniden yaratmak önemlidir
Bobs

1
Simülatörü başlatırken mümkün olan her şeyi yaptım ama hala orada
VISHNU GARG

Cevabımı aşağıda görebilirsiniz.
Marc Rochkind

22

Bu hatayı almanın başka bir nedeni Eclipse'in doğru dosyayı bulamamasıdır.

Eclipse'in SDK dosyalarınızı nerede aradığını kontrol edin. Bunu komut satırında yapabilirsiniz. Aşağıda, oluşturduğum ve 'SonyTabletS' adlı bir avd için windows komut istemine bir örnek verilmiştir:

c:\Program Files (x86)\Android\android-sdk\tools> emulator @SonyTabletS -verbose

Döndürülen ilk satır, eclipse'nin SDK dosyalarını nerede aradığını ve şuna benzeyeceğini gösterir:

emulator: found ANDROID_SDK_ROOT: C:\Program Files (x86)\Android\android-sdk

Konumun doğru olduğundan emin olun.

Benim durumumda, ANDROID_SDK_ROOTbaşlangıçta yanlış bir şekilde ana dizine ayarlandı. Bunun nedeni, Sony Tablet S SDK kurulum talimatlarını körü körüne takip ederek ANDROID_SDK_ROOTve yanlış yola sahip bir ortam değişkeni ekleyerek bu şekilde ayarlamamdır .


Benim durumumda, Android \ android-sdk klasöründen emülatör çalıştırırken ANDROID_SDK_ROOT konumu üzerinden Android \ android-studio \ sdk alındı. Bir kez doğru Android \ sdk işaret, işe yarıyor.
noel aye

Bu benim içindi. Oluşturma ortamım kolayca güncelleyemediğim bir ANDROID_SDK_ROOT kullanıyor. Düzeltme, temiz bir komut istemi başlatmak ve ANDROID_SDK_ROOT'u doğru olana ayarlamak ve sdk yöneticisini oradan başlatmaktı.
Doug Coburn

SDK'nın yanlışlıkla iki kopyasının yüklü olup olmadığını iki kez kontrol edin. Benim gibiyseniz, "ARM EABI v7a Sistem Görüntüsü" nü bir kopyaya kuruyordunuz, ancak AVD diğer kopyada bulmaya çalışıyordu. SDK'nın kopyalarımdan birini kaldırdım ve sonra emülatörüm hemen başladı.
sffc

Benim durumumda, SDK klasörüm doğru yön gösteren var.
Neon Warge

16

Hikayem Eclipse kernel-ranchu, sistem görüntü klasöründe ( /path/to/android-sdk-macosx/system-images/android-25/google_apis/arm64-v8a) " " adlı bir dosya istedi .

emulator: ERROR: Bu AVD'nin yapılandırmasında bir çekirdek dosyası eksik! Lütfen "kernel-ranchu" dosyasının sistem resminizle aynı konumda olduğundan emin olun.

emülatör: HATA: ANDROID_SDK_ROOT tanımsız

Bu sistem görüntüsü klasöründe " kernel-qemu" adlı bir dosya vardı . Sadece " kernel-ranchu" olarak yeniden adlandırdım ve işe yaradı ...


4
Benim durumumda başka bir yoldu
urnenfeld

15

Ben de aynı problemi yaşadım. Benim durumumda Android Studio tarafından sağlanan sürümün yanında sdk'nin başka bir sürümünü yüklediğim ortaya çıktı. ANDROID_SDK_ROOT ortam değişkenimi orijinal değerine değiştirmek benim için düzeltti.


1
SDK'nın daha önce Android Studio'dan önce yüklendiği durumda en iyi yanıt olarak bunun aynı derecede geçerli bir cevap olduğunu belirtmek önemlidir. Hata, Android Studio'nun ANDROID_SDK_ROOT'un zaten alternatif bir konuma ayarlandığını fark etmesi ve yükleme sırasında kullanıcıyı uyarması gerektiğidir.
Çekirdek

Çekirdek doğrudur. Bugün Eclipse'den Android Studio'ya geçtim ve bu benim için sorunu düzeltti.
Pikamander2

11

İşte benim hikayem. AVD yöneticisindeki 'Eylemler' altında, çalışmayan AVD'nin ayrıntılarını görüntüledim. Aşağı doğru ilerlerken, hattı buldum:

image.sysdir.1: add-ons\addon-google_apis-google-16\images\armeabi-v7a\

Daha sonra şu dosyaya gittim:

C:\Users\XXXX\AppData\Local\Android\sdk\add-ons\addon-google_apis-google-16\images\armeabi-v7a

Çekirdek dosyası olmadığını gördüm. Ancak, bir çekirdek dosyası buldum:

C:\Users\XXXX\AppData\Local\Android\sdk\system-images\android-16\default\armeabi-v7a

Bu yüzden kopyaladım ve yapıştırdım:

C:\Users\XXXX\AppData\Local\Android\sdk\add-ons\addon-google_apis-google-16\images\armeabi-v7a

AVD daha sonra çalıştı.


Teşekkürler, bu çözüldü! Çok garip bir davranış olduğu için bunun bir hata ya da sth olması gerektiğini düşünüyorum
Hugo

7

AVD Manager'ı Yönetici modunda açma VM'yi seçin ve düzenle'yi tıklayın, Tamam VM'yi Başlat'ı tıklayın.

Editörün notu : Yönetici modunda, sağ tıklayın> Windows platformlarında yönetici olarak çalıştır anlamına geliyordu.


'Yönetici modu' nedir / nerede?
ericpeters0n

Mac OS için VM bulunamıyor
Frank Fang

4

Çekirdek dosyasının makinenize yüklendiğini biliyorsanız, sorun onu bulmak için emulator.exe alıyor.

Benim düzeltmeme user2789389 tarafından yazı dayanıyordu. AVD'yi AVD Manager'dan başlatabilirim, ancak komut satırından başlatamadım. AVD Manager'ı kullanarak çalıştırmak istediğim avd'yi seçtim ve "Ayrıntılar" ı tıkladım. Bu bana avd tanım dosyasının yolunu gösterdi. Aynı adda bir klasörde, bu .avd dosyasının yanında bir config.ini dosyası buldum. İni'de şu satırı buldum:

image.sysdir.1=system-images\android-19\default\armeabi-v7a\

C: \ Users \ XXXX \ android-sdks \ system-images \ android-19 klasörüne baktım ve image.sysdir.1 yolunun geçersiz olduğunu gördüm. Ben "varsayılan" alt klasörü kaldırmak zorunda kaldı, böylece aşağıdaki için değiştirerek:

image.sysdir.1=system-images\android-19\armeabi-v7a\

İniyi kaydettim ve AVD'yi yeniden başlatmayı denedim. Bu sorunu çözdü!


Bu sorunu çözmedi. Benim durumumda, varsayılan alt klasörde sistem görüntüsü var.
Neon Warge

Bana oy vermek zorunda değilsiniz çünkü farklı bir sorununuz var! Bu benim cevabımı yanlış yapmaz.
BuvinJ

Sorununuzu çözmedikleri için buradaki diğer tüm yayınları da oyladınız mı?
BuvinJ

Bu benim için sorunu düzeltti, Mac'te çalışıyorum ve yol image.sysdir'i işaret ediyordu.1 = eklentiler / addon-google_apis-google-16 / images / armeabi-v7a, sistem resimleri / android olarak değiştiriliyor -16 / default / armeabi-v7a sorunu çözdü
Felipe Haziran

3

Ayrıca taklit bir aygıtı doğru şekilde yapılandırdığınızdan emin olun. Android Studio, taklit cihazlar listesinde görünen ancak kullandığınız SDK sürümüyle çalışacak şekilde ayarlanmamış bir cihazla birlikte gelebilir.

AVD Manager'da (Araçlar-> Android> AVD Yöneticisi) yeni bir taklit cihaz oluşturmayı ve bunu hedef olarak seçmeyi deneyin.


Bu yolda ilerlemeye çalıştığım halde, HAXM'in gerçekte kurulu olmasa bile gerçekte kurulu olmadığını bilmeme izin verin. Intel HAXM uygulamasını yüklemem istendi.
Lodlaiden

2

Bugün Android SDK yöneticisini ve Android SDK'yı yükledim ve Android emülatörünü hemen çalıştırmaya çalıştığımda da bu hatayı alıyorum. Ancak, şu anda bu hata ortadan kalkıyor, SDK yüklendiğinde sisteminizi yeniden başlatmanız bu sorunu çözebilir.


2

SDK / NDK ve JDK'nın uzun bir onarım / yeniden inşa / yükseltmesinden sonra bana tek bir akıllı düşünce geldi. AVD 'GalaxyS3' eksik çekirdek dosyamın düzeltmesi, sistem görüntüleri referansını mutlak olarak genişletmek olduğu için ortamın incelenmesi gerekiyor.

image.sysdir.1 = C: \ Android \ sdk \ system-images \ android-19 \ armeabi-v7a \

"C: .... sdk \" ifadesini "çalışma alanı" na.android \ avd \ GalaxyS3.avd \ config.ini dosyasındaki 'image.sysdir.1 =' girişine eklemek sorunu çözdü (şimdilik).


2

Android SDK'mı en son sürüme güncelledim (API 19). Öykünücüyü phonegap 3 ile çalıştırmayı denediğimde, yapı başarılı oldu, ancak aynı sorunu çalıştırdı.

AVD yöneticisinde mevcut bir cihaz vardı, ancak parametrelerinin hepsi bilinmiyordu. Kesinlikle bu, cihazı kaldırmaya çalışırken ikinci bir hata döndüren eski sdk sürümünü (API 17) kaldırdığım için oluşur. Şu mesajla: "cihaz zaten çalışıyor"

Sorunu çözmek için, AVD'nin ~ / .android / avd / içindeki konumuna gittim ve aygıt dizini.avd ve device.ini dosyasını el ile kaldırdım. Son olarak, cihaz yöneticisinde en yeni API tarafından sağlanan yeni bir AVD oluşturdum.

Bu, telefon aralığının öykünücüyü başarıyla oluşturmasına ve çalıştırmasına izin verdi

Umarım bu yardımcı olur

İyi günler


2

Ubuntu 14.04'te Android Studio 1.2.2 kullanarak ChrLipp tarafından kabul edilen cevabın ardından:

  • Android SDK yöneticisinden "ARM EABI v7a Sistem Görüntüsü" paketini yükleyin.
  • İşlevsel olmayan Sanal Cihazı silin.
  • Armeabi-v7a olarak Uygulama İkili Arabirimi (ABI) ile yeni bir cihaz ekleyin.
  • Yeni cihaza önyükleme yapın.

Bu benim için çalıştı. Sizin için çalışmıyorsa sisteminizi yeniden başlatmayı deneyin.


2

Android Studio ortamı , Mac ve “PANIC: 'arm' CPU için eksik emülatör motoru programı” için cevabımı görün . .

Bu sorunu çözmek için -kernelyolu el ile belirtmeniz gerekir. yani

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

Emülatör adını Galaxy_Nexus_Jelly_Bean_API_16kendi emülatör adınızla değiştirmeyi unutmayın .

Aşağıdaki komut, komut satırı için kullanılabilir emülatörleri kontrol etmektir.

$ ~/Library/Android/sdk/emulator/emulator -list-avds

Ayrıca, öykünücü yolunuzun doğru olduğundan emin olun ~/Library/Android/sdk/emulator/.


1

ChrLipp'in önerdiğini denedim, ancak görüntü zaten yüklendiği için bu sorun değildi. Yaptığım şey:

android avd

öykünücüyü el ile başlatmak için. Sonra emülatörü durdurdum ve o noktayı

cca emulate android

uygulaması "çekirdek dosyası eksik" hatası olmadan çalışmaya başladı.


1

Çevre sorununu ANDROID_SDK_ROOT ekleyerek bu sorunu düzelttim, benim durumumda bu C: \ Users \ fera \ AppData \ Local \ Android \ sdk


1

Kendi durumumda, çoğu yanlış yapılandırılmış ANDROID_SDK_ROOT ile ilgili birden fazla hatam vardı , günün sonunda, her şeyi düzeltmek için bir şey görünüyordu.

Aşağıdaki süreci takip edin:

AVD'de yeni bir Emülatör Aygıtı Oluşturduktan sonra, Eylemler menüsüne gidin ve aşağıda gösterildiği gibi aşağıyı gösteren oku tıklayın.

resim açıklamasını buraya girin

Diskte Göster'i tıklayın

Düzenleme Config.ini

İçin bak image.sysdir.1

şöyle bir değere sahip olmalıdır: ** image.sysdir.1 = sistem görüntüleri \ android-28 \ google_apis_playstore \ x86 **

Kendi değeriniz farklı olabilir

Şimdi, tam bir yol yapmak için Android Sdk yolunu düzeltin.

image.sysdir.1 = ** C: \ androidsdk ** sistem görüntüleri \ android-28 \ google_apis_playstore \ x86 \

Fark ettiyseniz, yukarıda gösterilen android sdk yolu normal varsayılan android sdk'den farklıdır, bilgisayarımdaki ana KULLANICI EV'm NDK'nin desteklemeyebileceği boşluklara sahip olduğundan NDK sorunlarını önlemek için C: / androidsdk'ye taşımak zorunda kaldım .

NOT: SDK dizinini varsayılan dizinden uzaklaştırmak AVD öykünücüsünün verdiği bu hataların nedenidir, özellikle de bozuk ve yanlış yapılandırılmış yolla ilgili olarak. Yukarıda verdiğim düzeltme hızlı bir düzeltmedir, AVD Emulator'da her yeni cihaz oluşturduğunuzda bunu yapmanız gerekebilir.

Bu düzeltme, cordova ile CMD üzerinde çalışırken de çalışmalıdır.


0

Sadece bu sorunla ilgili deneyimlerimi paylaşmak istedim. Buradaki cevapların her birine baktığımda durumumla uyuşmuyor. Android API 22 için bir sistem görüntüsüne sahip olmak bu hataya neden olur ve garip olan şey, tüm ortam değişkenlerinin doğru dizinleri işaret etmesidir. Mantıklı değil.

@BuvinJ cevabı soruna biraz ışık tutmuştu. Ben onun cevabında tarif yol kontrol ettim ve evet sistem görüntüsünün benim kullanıcı dizinine (Windows) baktığınızda alt klasör varsayılan altında bulunur.

Garip bir şey var, ayrıca ANDROID_SDK_ROOT'da bir android-sdk klasörü var, bu yüzden belki Eclipse'nin oraya baktığını düşündüm. Alt klasörleri araştırırken dizinin şöyle göründüğünü anladım:

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

Bu dizin ANDROID_SDK_ROOT üzerinde bulunur. Ayrıca kullanıcı / XXXX / android-sdk / kullanıcı dizininde bulunan başka bir tane var.

Eclipse burada bekliyor:

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

Sadece dizini bu şekilde değiştirdi ve şimdi çalışıyor.


0

Windows'ta komut isteminde aşağıdaki komutları güncelleyin:

i) android güncelleme sdk --no-ui --all // SDK paketlerinizi günceller ve 3 dakika sürer. ii) android güncelleme sdk - no-ui - filtre platformu araçları, araçlar // Platform araçlarını ve paketlerini günceller. iii) android güncelleme sdk - no-ui --all --filter extra-android-m2repository // maven projesi ile çalışanlar ekstra maven android maven deposu içerecek en son destek tasarım kütüphanesi ile desteklemek için bunu güncelleyin.

1) Komut isteminde sizden Y / N isteyip istemediğinizi sorar. 2) Tüm Kernel-qemu dosyalarını ve qt5.dll komutlarını günceller. böylece Emulator sorunsuz çalışır.


-1

Benim için SDK Araçlarının güncellenmesi hataları düzeltti.

Hataların ekran görüntüsü ve güncelleme ilerlemesi


-1

Bunu Android SDK Yöneticisi'ndeki SDK Araçları ve Platform araçlarını en yeni sürüme güncelleyerek çözdüm.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.