AVD'nizi veya SDK'nızı başka bir dizine taşıdığınızda veya eski bir SDK'yı yenisiyle değiştirdiğinizde veya bir şekilde SDK'yı bozduğunuzda birkaç farklı sorun olabilir.
Aşağıda bildiğim tüm olası sorunları açıklayacağım ve bunları çözmek için birkaç yol vereceğim.
Tabii ki herhangi bir AVD oluşturduğunuzu ve C:\Users\<user_name>\.android\avd
(Windows) veya ~/.android/avd
(Linux / MacOS) içinde bulunduğunu varsayıyorum .
.android
Başka bir yere taşındıysanız , ANDROID_SDK_HOME
ortam değişkenini, öğenizi içeren üst dizin yoluna ayarlayın .android
ve AVD Manager'ın Sanal Aygıtınızı başarıyla bulduğundan emin olun .
Ayrıca içindeki yolları kontrol et <user_home>/.android/avd/<avd_name>.ini
Eksik / bozuk SDK yapısı
PANIC: Cannot find AVD system path. Please define ANDROID_SDK_ROOT
PANIC: Broken AVD system path. Check your ANDROID_SDK_ROOT value
Bu 2 hata, emülatör SDK'yı bulamazsa veya SDK bozulursa oluşur.
Yani, her şeyden önce ANDROID_SDK_ROOT
değişkeni kaldırmanızı öneririm . Yalnızca emülatör SDK dizininin dışındaysa gereklidir. Ancak genel olarak, öykünücünüz SDK dizininde kalır. Ve bu durumda SDK konumunu otomatik olarak algılaması gerekir . Değilse, SDK'nız muhtemelen yanlış dosyaya sahiptir. Lütfen aşağıdakileri yapın:
Olmadığını kontrol SDK dizin en az bu 4 dizinleri vardır: emulator
, platforms
, platform-tools
, system-images
. Bu çok önemli! Bu dizinler mevcut olmalıdır. Bazıları yoksa, o zaman sadece boş dizinler oluşturun.
Git <user_home>/.android/avd/<avd_name>
ve aç config.ini
. image.sysdir.1
Mülkü bulun . Gerçek sistem görüntüsünü içeren SDK dizininin içindeki dizini gösterir. Bu dizinin mevcut ve benzeri dosyaları içerdiğinden emin olun build.prop
, system.img
vb Böyle olmazsa, o zaman açmak zorunda SDK Manager'ı ve AVD gerektirir indirme sistemi görüntüleri (aşağıya bakınız).
Her şey düzgün bir şekilde ayarlandıysa, bu hatalar ne zaman ANDROID_SDK_ROOT
giderilmelidir. Değilse, şimdi ANDROID_SDK_ROOT
değişken kurmayı deneyebilirsiniz .
Gerekli paketler ve HAXM kurulu değil
Karşılaşabileceğiniz bir sonraki sorun, emülatörün başlatılmaya başlaması, ancak kapatılması veya hemen kapanmasıdır. Bu muhtemelen gerekli tüm paketlerin yüklü olmadığı anlamına gelir.
Başka bir olası hata:
Bir ADB ikili dosyası otomatik olarak algılanamadı. Genişletilmiş ayarlar sayfasına ADB'ye özel bir yol eklenene kadar bazı öykünücü işlevleri çalışmaz.
Bu nedenle, herhangi bir AVD'yi başarıyla başlatmak için en azından şu paketlerin kurulu olduğundan emin olmalısınız:
emulator (Android Emulator)
platform-tools (Android SDK Platform-Tools)
tools (Android SDK Tools)
Daha önce de belirttiğim gibi AVD'nizin kullandığı sistem görüntülerini yüklemelisiniz, örneğin system-images;android-25;google_apis;x86
SDK'daki en son sürümlerin bağımsız olmadığını unutmayın SDK Manager.exe
. Bunun yerine, Android Studio'yu kullanmanız veya tools\bin\sdkmanager.bat
(Linux / MacOS muhtemelen sh
dosyalara sahip olmanız ) gerekir.
Kullanılabilir tüm paketleri listelemek için sdkmanager --list
veya düğmesini kullanın.sdkmanager --list --verbose
Paketleri yüklemek için sdkmanager <package1> <package2> ...
Ayrıca HAXM'i sisteminize manuel olarak kurmanızı tavsiye ederim .
Qcow2 dosyaları yanlış / var olmayan temel görüntülere atıfta bulunuyor
Bahseteceğim son sorun, AVD veya SDK'yı bir bilgisayardan veya dizinden diğerine taşımaya çalıştığınızda oluşur. Bu durumda böyle bir hata alabilirsiniz:
qemu-system-i386.exe: -sürürse = sürücü, çakışma-kontrol = yok, önbellek = güvensiz, dizin = 0, id = sistem, dosya = C:\Users\<old_user_name>\.android\avd\<avd_name>
.
avd \ system.img.qcow2, salt okunur: Destek dosyası açılamadı: açılamadı ' <old_sdk_dir>\system-images\android-22\google_apis\x86\system.img
': Geçersiz argüman
Bunu düzeltmenin 2 yolu vardır:
AVD'nin içerdiği verilerle ilgilenmezseniz qcow2
, AVD dizinindeki tüm dosyaları silin (örn. <user_home>/.android/avd/<avd_name>
). Bu durumda, sert bir sıfırlamadan sonra olduğu gibi Android'in temiz bir sürümünü alacaksınız.
Emülatördeki veriler sizin için önemliyse, qcow2
herhangi bir HEX düzenleyicisini kullanarak tüm dosyaları tek tek açın ( HxD'yi tercih ederim ), bir temel img
dosyanın yolunu bulun ve Overwrite
moddaki doğru olana değiştirin ( Dosya boyutu). Ardından yolu seçin ve uzunluğunu onaltılık (örn. 2F
) Olarak alın. 2F
ASCII eğik çizgisini temsil eder /
. Yerine koyun 13
:
PS: Emin değilim, ama muhtemelen farklı temel görüntü ayarlamaya izin veren qemu-img gibi bazı faydalar var . Bana göre ikiliyi elle düzenlemek daha kolay.
Artık muhtemelen Android Sanal Cihazınızı başarıyla başlatabileceksiniz. Umarım :)