Android Studio'da öykünücü çalıştırılamıyor


97

Android stüdyosunu kurdum ve onu bir test çalıştırması için almaya çalıştım. Uygulamamı çalıştırmayı denediğimde aşağıdaki hata mesajını alıyorum

emulator: ERROR: This AVD's configuration is missing a kernel file!!
emulator: ERROR: ANDROID_SDK_ROOT is undefined

Bunun nasıl tamir edileceğini bilen biri var mı????


1

@Ted pottel, aşağıdaki yanıtlardan herhangi biri sorunuzu yanıtladı mı? Öyleyse, lütfen yanındaki onay işaretine tıklayın.
Harris

Yanıtlar:


28

Sistem görüntünüzün gerçekten olmaması mümkündür. $ANDROID_HOME/system-images/android-<YOUR DESIRED API>/armeabi-v7aVar olan ve boş olmadığını iki kez kontrol edin . Gerçekten eksiklerse - SDK yöneticisi ile yükleyin / yeniden yükleyin.


2
İki sorunum var: 1: Bulamıyorum $ANDROID_HOME/system-images/android-<YOUR DESIRED API>/armeabi-v7a, 2: SDK yöneticisi kullanarak bir sanal cihaz nasıl yeniden
yüklenir

Ancak cevabınızı okurken, bir geçici çözüm yapabilirdim ve bu yeni bir sanal cihaz oluşturmaktı ve yeni cihaz için sorun oluşmadı
Musa Haidari

4
SDK Yöneticisi içinde, hangi sistem görüntülerinin yüklü olduğunu görebilmek için "Paket Ayrıntılarını Göster" seçeneğini işaretlediğinizden emin olun ve yüklemeyin
Martyn Davis

21

Araçlara Git | Android | AVD Yöneticisi

En sağda (hata mesajının olduğu yerde) İşlemler sütununun altındaki oku tıklayın

Düzenle'yi seçin

Varsayılan seçimi bırakın (Benim için, MNC x86 Android M)

Sonrakine tıkla

Bitir'e tıklayın

AVD'nizi kaydeder ve hata artık son sütundan gider. Ve emülatör artık iyi çalışıyor.


15

Bunu düzelttim. Umarım bu başkalarına yardımcı olur. (Android studio v2'deki gibi sorun) Bu sorun, kol emülatörleri içindir. Bu örnekte armeabi-v7a API 16 kullanıyorum

Düzeltme üç adımdan oluşur:

Adım 1: sdk yöneticisini açın ve ARM EABI v7a Sistem Görüntüsü yüklediğinizden emin olun

Adım 2. Bu, sdk'nin konumunu sistem değişkenlerine eklemenin açık bir örneğidir.

Masaüstündeki "Bu PC" simgesine sağ tıklayın, ardından

Properties -> Advanced system settings -> Environment Variables... Ardından, değişken adını kullanarak sdk yolunu sistem değişkenlerine yeni olarak ekleyin ANDROID_SDK_ROOT.

Adım 3. Değişikliklerin kaydedilmesi için Android Studio'yu yeniden başlatın. ANDROID_SDK_ROOTTanımlanmamış sorunu düzelttikten sonra , emülatör, sdk yöneticisinin onu yüklediğini görse bile çekirdek dosyalarını bulamıyor.

path-to-sdk\sdk\system-images\android-16\default\armeabi-v7a\kernel-qemu

Bunun nedeni, sdk yöneticisinin çekirdek dosyasını yüklediği konum ile öykünücünün aradığı konum arasındaki karışıklıktır.

Emülatörünüz için config.ini'nizi (Android Studio -> AVD Mananger -> "Diskte Göster") açarsanız, aşağıdaki satırı görürsünüz:

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

(yani \ sdk yolu \ eklentiler \ eklenti -....)

Kopyaladığım config.ini dosyasındaki bu değeri değiştirmek yerine

path-to-sdk\sdk\system-images\android-16\default\armeabi-v7a\kernel-qemu

(sdk yöneticisinin yüklü olduğu klasörden çekirdek dosyası)

-e

\path-to-sdk\add-ons\addon-google_apis-google-16\images\armeabi-v7a\

Ve bu eksik çekirdek dosyasıydı. Öykünücüyü çalıştırabilirsiniz. (Android Studio'yu kapatıp yeniden açmanız gerekecek) Emülatöre x86'ya kıyasla 10 kat daha yavaş olduğu için biraz zaman tanıyın. (Benimkinin başlaması yaklaşık 5 dakika sürdü)


"Öykünücünüz için config.ini" nerede?
Jay

Android Studio -> AVD Mananger -> "Diskte Göster". Yanıtı düzenleme.
Asi Mugrabi

Aslında benim için hile yapan cevap image.sysdir.1=system-images\android-16\default\armeabi-v7a
buydu

Bu, Nexus 4 emülatörü için benim için hile yaptı. Güncellemesine Had image.sysdir.1sistem görüntüleri `etmek \ android-15 \ google_apis \ armeabi-v7a`
dal

10

"C: \ Program Files \ Android \ android-sdk \ AVD Manager.exe" çalıştırıp bozuk cihazımı tamir ederek sorunu çözdüm.


5

Kısa cevap : Eski okulu kullanarak aynı resmi oluşturmaya çalışın <AndroidSDK>\AVD Manager.exe.

Android Studio'da çalışmak, tüm entegre araçları çalıştırmak, eski yöneticileri (AVD / SDK) kullanmamak benim için doğal oldu.

Benim durumumda, eski sistem görüntülerine sahip cihazlar oluşturmak için yeni (entegre) AVD Manager'ı kullandığımda bu sorunu yaşadım (test ettiğim gibi API 11 ve altı).

<AndroidSDK>\AVD Manager.exeBu eski cihaz görüntülerini oluşturmak için eski tarz AVD Manager aracını (içinde bulunur ) kullanmaya çalıştığımda başarılı oldum.


2
Öneriniz için teşekkürler - görünüşe göre bağımsız araç eski platformlar için bir şeyler nasıl kurulacağını biliyor. OS X / MacOS üzerinde: ~/Library/Android/sdk/tools/android avd.
neuralmer

4

Hey, az önce yaptığınız aynı sorunla karşılaştım, google'daki 3. bağlantı beni hatayı atan bu koda getirdi,

if (kernelFile == NULL) {
        kernelFile = avdInfo_getKernelPath(avd);
        if (kernelFile == NULL) {
            derror( "This AVD's configuration is missing a kernel file!!" );
            const char* sdkRootDir = getenv("ANDROID_SDK_ROOT");
            if (sdkRootDir) {
                derror( "ANDROID_SDK_ROOT is defined (%s) but cannot find kernel file in "
                        "%s" PATH_SEP "system-images" PATH_SEP
                        " sub directories", sdkRootDir, sdkRootDir);
            } else {
                derror( "ANDROID_SDK_ROOT is undefined");
            }
            exit(2);

kişinin yazdığı:

"/ * Çekirdek görüntü adı" -armv7 "ile bitiyorsa, cpu * türünü otomatik olarak değiştirin. Bu, yapılandırma * yönetimine kötü bir yaklaşımdır, ancak dex preopt pass ile ARMv7 * sistem görüntülerini oluşturmayı geçmemize izin vermelidir. "

Bu yüzden geri döndüm ve istediğim API seviyesi için x86 intel atom sürümünü indirdim ve öykünücüyü hatasız çalıştırmayı başardım. Umarım sana da yardımcı olur .....


2

Normalde hata, geliştirdiğiniz uygulama türü için uygun olmayan bir AVD emülatörü nedeniyle ortaya çıkar. Örneğin, bir giyilebilir cihaz için bir uygulama geliştiriyorsanız, ancak onu çalıştırmak için bir telefon emülatörü kullanmaya çalışıyorsanız.


2

Ben de aynı hatayı aldım. Benim için çözüm, ANDROID_HOME yolunu değiştirmekti . İlk önce Android Studio'daki araçlar-> android-> sdk yöneticisine bir göz attım . Bu pencerede, Android Studio'nun SDK'yı aradığı yolu görebiliriz: resim

Sonra bir Windows CMD kabuğu açtım, çalıştırdım:

echo %ANDROID_HOME%

ancak yol, ilk adımın ANDROID STUDIO CONFIGURATION'ındakinden farklıydı.

Çözüm, kullanıcı ortamındaki ANDROID_HOME'u ilk adımlardan birine değiştirmekti: görüntü

Sonunda cmd kabuğunu kapattım ve çalıştırmak için başka bir cmd kabuğu açtım:

echo %ANDROID_HOME%

yol güncellendi ve öykünücümü mükemmel şekilde çalıştırabildim.


1

Benim durumumda (Windows 10) nedeni, android sdk'yi varsayılan olmayan klasöre açmaya cesaret etmemdi. Varsayılanı c: / Kullanıcılar / [kullanıcı adı] / AppData / Local / Android / Sdk'ye taşıdığımda ve Android Studio ve Sistem Değişkenlerindeki yolları değiştirdiğimde çalışmaya başladı.


1
  • Android stüdyosunu açın.
  • Ayar> Sistem Ayarı> Android SDK'ya gidin
  • "Android SDK Konumunu" alın.
  • ANDROID_SDK_ROOT ortam değişkenini bu değere ayarlayın.

Benim için çalıştı ve Windows 10 ve Android Studio 2.3.3'teyim


1
  1. "Sistem Ortamı değişkenlerini düzenle" ye gidin.
  2. Yeni Düğmeye tıklayın ve değişken adına "ANDROID_SDK_ROOT" yazın ve değişken değerine android sdk tam yolunu girin. Tamam'a tıklayın ve kapatın.
  3. AVD'yi yenileyin.
  4. Bu, hatayı çözecektir.

-1

Bu sorunu çözmek için izlenecek ortak bir yaklaşım.

1. android stüdyonuzdan çalıştırarak SDK yöneticinizi kontrol edin ve sdk klasörünü çalıştırarak ./android.shkırık paketleri bulmanıza yardımcı olur

  1. Intel'den ziyade Google API desteğine sahip Sistem emülatörü görüntülerini yüklemeyi deneyin. Tıpkı başka bir sistem görüntüsüne girerek sorunumu çözdüğüm gibi.

  2. Linux için Google tarafından önerilen KVM tabanlı Virtulaization üzerine deney

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.