Android öykünücüsü sorunlarını giderme

Bu makalede, Android Öykünücüsü yapılandırılırken ve çalıştırılırken oluşan en yaygın uyarı iletileri ve sorunlar açıklanmaktadır. Ek olarak, öykünücü sorunlarını tanılamanıza yardımcı olacak çeşitli sorun giderme ipuçlarının yanı sıra bu hataları çözmeye yönelik çözümleri açıklar.

Windows'ta dağıtım sorunları

Uygulamanızı dağıtırken öykünücü tarafından bazı hata iletileri görüntülenebilir. En yaygın hatalar ve çözümler burada açıklanmıştır.

Dağıtım hataları

Öykünücüye APK yükleme hatası veya Android Hata Ayıklama Köprüsü'nün (adb) çalıştırılamamasıyla ilgili bir hata görürseniz, Android SDK'nın öykünücünüze bağlanabildiğini doğrulayın. Öykünücü bağlantısını doğrulamak için aşağıdaki adımları kullanın:

  1. Öykünücüyü Android Aygıt Yöneticisi başlatın (sanal cihazınızı seçin ve Başlat'a tıklayın).

  2. Bir komut istemi açın ve adb'nin yüklü olduğu klasöre gidin. Android SDK varsayılan konumunda yüklüyse, adb C:\Program Files (x86)\Android\android-sdk\platform-tools\adb.exe konumunda bulunur; yüklü değilse, bu yolu bilgisayarınızdaki Android SDK'sının konumu için değiştirin.

  3. Aşağıdaki komutu yazın:

    adb devices
    
  4. Öykünücüye Android SDK'dan erişilebiliyorsa, öykünücü ekli cihazlar listesinde görünmelidir. Örneğin:

    List of devices attached
    emulator-5554   device
    
  5. Öykünücü bu listede görünmüyorsa Android SDK Yöneticisi'ni başlatın, tüm güncelleştirmeleri uygulayın ve öykünücüyü yeniden başlatmayı deneyin.

MMIO erişim hatası

MmIO erişim hatası oluştu iletisi görüntülenirse öykünücüyü yeniden başlatın.

Eksik Google Play Hizmetleri

Öykünücüde çalıştırdığınız sanal cihazda Google Play Hizmetleri veya Google Play Store yüklü değilse, bu durum genellikle bu paketler dahil edilmeden bir sanal cihaz oluşturulmasından kaynaklanır. Bir sanal cihaz oluşturduğunuzda (bkz. Android Aygıt Yöneticisi ile Sanal Cihazları Yönetme) aşağıdaki seçeneklerden birini veya her ikisini de seçtiğinizden emin olun:

  • Google API'leri – sanal cihazda Google Play Hizmetleri'ni içerir.
  • Google Play Store – sanal cihazdaki Google Play Store'a dahildir.

Örneğin, bu sanal cihaz Google Play Services ve Google Play Store içerir:

Example AVD with Google Play Services and Google Play Store enabled

Not

Google Play Store görüntüleri yalnızca Pixel, Pixel 2, Nexus 5 ve Nexus 5X gibi bazı temel cihaz türlerinde kullanılabilir.

Performans sorunları

Performans sorunlarına genellikle aşağıdaki sorunlardan biri neden olur:

  • Öykünücü donanım hızlandırma olmadan çalışıyor.

  • Öykünücüde çalışan sanal cihaz x86 tabanlı bir sistem görüntüsü kullanmıyor.

Aşağıdaki bölümlerde bu senaryolar daha ayrıntılı olarak ele alınıyor.

Donanım hızlandırma etkin değil

Donanım hızlandırma etkinleştirilmemişse, Aygıt Yöneticisi bir sanal cihaz başlatmak, Windows Hiper Yönetici Platformu'nu (WHPX) düzgün yapılandırılmadığını belirten bir hata iletisi içeren bir iletişim kutusu oluşturur:

Example Device Manager warning

Bu hata iletisi görüntülenirse donanım hızlandırmayı doğrulamak ve etkinleştirmek için uygulayabileceğiniz adımlar için aşağıdaki Donanım hızlandırma sorunları bölümüne bakın.

Hızlandırma etkinleştirildi ancak öykünücü çok yavaş çalışıyor

Bu sorunun yaygın bir nedeni, sanal cihazınızda (AVD) x86 tabanlı bir görüntü kullanmamadır. Bir sanal cihaz oluşturduğunuzda (bkz. Android Aygıt Yöneticisi ile Sanal Cihazları Yönetme), x86 tabanlı bir sistem görüntüsü seçtiğinizden emin olun:

Selecting an x86 system image for a virtual device

Donanım hızlandırma sorunları

Donanım hızlandırma için Hyper-V veya HAXM kullanıyor olun, yapılandırma sorunlarıyla veya bilgisayarınızdaki diğer yazılımlarla çakışmalarla karşılaşabilirsiniz. Bir komut istemi açıp aşağıdaki komutu girerek donanım hızlandırmanın etkinleştirildiğini (ve öykünücünün hangi hızlandırma yöntemini kullandığını) doğrulayabilirsiniz:

"C:\Program Files (x86)\Android\android-sdk\emulator\emulator-check.exe" accel

Bu komut, Android SDK'sının varsayılan C:\Program Files (x86)\Android\android-sdk konumunda yüklü olduğunu varsayar; yüklü değilse, bilgisayarınızdaki Android SDK'sının konumu için yukarıdaki yolu değiştirin.

Donanım hızlandırma kullanılamıyor

Hyper-V kullanılabilir durumdaysa, emulator-check.exe accel komutundan aşağıdaki örneğe benzer bir ileti döndürülür:

HAXM is not installed, but Windows Hypervisor Platform is available.

HAXM kullanılabilir durumdaysa, aşağıdaki örneğe benzer bir ileti döndürülür:

HAXM version 6.2.1 (4) is installed and usable.

Donanım hızlandırma kullanılamıyorsa, aşağıdaki örneğe benzer bir ileti görüntülenir (öykünücü Hyper-V'yi bulamıyorsa HAXM'yi arar):

HAXM is not installed on this machine

Donanım hızlandırma kullanılamıyorsa, bilgisayarınızda donanım hızlandırmayı etkinleştirmeyi öğrenmek için bkz . Hyper-V ile Hızlandırma.

Yanlış BIOS ayarları

BIOS, donanım hızlandırmayı destekleyecek şekilde düzgün yapılandırılmadıysa, emulator-check.exe accel komutunu çalıştırdığınızda aşağıdaki örneğe benzer bir ileti görüntülenir:

VT feature disabled in BIOS/UEFI

Bu sorunu düzeltmek için bilgisayarınızın BIOS'unda yeniden başlatın ve aşağıdaki seçenekleri etkinleştirin:

  • Sanallaştırma Teknolojisi (anakart üreticisine bağlı olarak farklı bir etikete sahip olabilir).
  • Donanım Tarafından Zorlanan Veri Yürütme Engellemesi.

Donanım hızlandırma etkinleştirilirse ve BIOS düzgün yapılandırılırsa, öykünücü donanım hızlandırma ile başarıyla çalıştırılmalıdır. Ancak, daha sonra açıklandığı gibi Hyper-V ve HAXM'ye özgü sorunlardan dolayı sorunlar yine de oluşabilir.

Hyper-V sorunları

Bazı durumlarda, Windows özelliklerini aç veya kapat iletişim kutusunda hem Hyper-V hem de Windows Hypervisor Platformununetkinleştirilmesi Hyper-V'yi düzgün bir şekilde etkinleştirmeyebilir. Hyper-V'nin etkinleştirildiğini doğrulamak için aşağıdaki adımları kullanın:

  1. Windows arama kutusuna powershell yazın.

  2. Arama sonuçlarında Windows PowerShell'e sağ tıklayın ve Yönetici olarak çalıştır'ı seçin.

  3. PowerShell konsolunda aşağıdaki komutu girin:

    Get-WindowsOptionalFeature -FeatureName Microsoft-Hyper-V-All -Online
    

    Hyper-V etkin değilse, Hyper-V durumunun Devre Dışı olduğunu belirtmek için aşağıdaki örneğe benzer bir ileti görüntülenir:

    FeatureName      : Microsoft-Hyper-V-All
    DisplayName      : Hyper-V
    Description      : Provides services and management tools for creating and running virtual machines and their resources.
    RestartRequired  : Possible
    State            : Disabled
    CustomProperties :
    
  4. PowerShell konsolunda aşağıdaki komutu girin:

    Get-WindowsOptionalFeature -FeatureName HypervisorPlatform -Online
    

    Hiper Yönetici etkin değilse, HypervisorPlatform durumunun Devre Dışı olduğunu belirtmek için aşağıdaki örneğe benzer bir ileti görüntülenir:

    FeatureName      : HypervisorPlatform
    DisplayName      : Windows Hypervisor Platform
    Description      : Enables virtualization software to run on the Windows hypervisor
    RestartRequired  : Possible
    State            : Disabled
    CustomProperties :
    

Hyper-V ve/veya HypervisorPlatform etkinleştirilmediyse, bunları etkinleştirmek için aşağıdaki PowerShell komutlarını kullanın:

Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V -All
Enable-WindowsOptionalFeature -Online -FeatureName HypervisorPlatform -All

Bu komutlar tamamlandıktan sonra yeniden başlatın.

Hyper-V'yi etkinleştirme hakkında daha fazla bilgi için (Dağıtım Görüntüsü Bakımı ve Yönetimi aracını kullanarak Hyper-V'yi etkinleştirme teknikleri dahil), bkz . Hyper-V'yi Yükleme.

HAXM sorunları

HAXM sorunları genellikle diğer sanallaştırma teknolojileriyle, yanlış ayarlarla veya güncel olmayan bir HAXM sürücüsüyle çakışmaların sonucu olur.

HAXM işlemi çalışmıyor

HAXM yüklüyse, bir komut istemi açıp aşağıdaki komutu girerek HAXM işleminin çalıştığını doğrulayabilirsiniz:

sc query intelhaxm

HAXM işlemi çalışıyorsa, aşağıdaki sonuda benzer bir çıktı görmeniz gerekir:

SERVICE_NAME: intelhaxm
    TYPE               : 1  KERNEL_DRIVER
    STATE              : 4  RUNNING
                            (STOPPABLE, NOT_PAUSABLE, IGNORES_SHUTDOWN)
    WIN32_EXIT_CODE    : 0  (0x0)
    SERVICE_EXIT_CODE  : 0  (0x0)
    CHECKPOINT         : 0x0
    WAIT_HINT          : 0x0

olarak ayarlanmadıysa STATERUNNING, sorunu çözmek için bkz . Intel Donanım Hızlandırılmış Yürütme Yöneticisi'ni kullanma.

HAXM sanallaştırma çakışmaları

HAXM, Hyper-V, Windows Device Guard ve bazı virüsten koruma yazılımları gibi sanallaştırma kullanan diğer teknolojilerle çakışabilir:

  • Hyper-V – Windows 10 Nisan 2018 güncelleştirmesi (derleme 1803) ve Hyper-V etkinleştirilmeden önce bir Windows sürümü kullanıyorsanız, HAXM'nin etkinleştirilebilmesi için Hyper-V'yi devre dışı bırakma konusundaki adımları izleyin.

  • Device Guard – Device Guard ve Credential Guard, Windows makinelerinde Hyper-V'nin devre dışı bırakılmasını engelleyebilir. Device Guard ve Credential Guard'ı devre dışı bırakmak için bkz . Device Guard'ı Devre Dışı Bırakma.

  • Virüsten Koruma Yazılımı – Donanım destekli sanallaştırma (Avast gibi) kullanan bir virüsten koruma yazılımı çalıştırıyorsanız, bu yazılımı devre dışı bırakın veya kaldırın, android öykünücüyü yeniden başlatın ve yeniden deneyin.

Yanlış BIOS ayarları

Windows bilgisayarda HAXM kullanıyorsanız, BIOS'ta sanallaştırma teknolojisi (Intel VT-x) etkinleştirilmediği sürece HAXM çalışmaz. VT-x devre dışı bırakılırsa, Android Öykünücüsü'ne başlamayı denediğinizde aşağıdakine benzer bir hata alırsınız:

Bu bilgisayar HAXM gereksinimlerini karşılıyor, ancak Intel Sanallaştırma Teknolojisi (VT-x) açık değil.

Bu hatayı düzeltmek için bilgisayarı BIOS'ta önyükleyin, hem VT-x hem de SLAT'ı (İkinci Düzey Adres Çevirisi) etkinleştirin ve ardından bilgisayarı Windows'a geri başlatın.

Hyper-V'yi devre dışı bırakma

Windows 10 Nisan 2018 Güncelleştirmesi (derleme 1803) ve Hyper-V etkinleştirilmeden önce bir Windows sürümü kullanıyorsanız, HAXM'yi yüklemek ve kullanmak için Hyper-V'yi devre dışı bırakmanız ve bilgisayarınızı yeniden başlatmanız gerekir. Windows 10 Nisan 2018 Güncelleştirmesi (derleme 1803) veya üzerini kullanıyorsanız, Android Öykünücüsü sürüm 27.2.7 veya üzeri donanım hızlandırma için Hyper-V (HAXM yerine) kullanabilir, bu nedenle Hyper-V'yi devre dışı bırakmak gerekmez.

Aşağıdaki adımları izleyerek Hyper-V'yi Denetim Masası devre dışı bırakabilirsiniz:

  1. Windows arama kutusuna Windows özellikleri yazın ve arama sonuçlarında Windows özelliklerini aç veya kapat'ı seçin.

  2. Hyper-V'nin işaretini kaldırın:

    Disabling Hyper-V in the Windows Features dialog

  3. Bilgisayarı yeniden başlatın.

Alternatif olarak, Hyper-V Hiper Yöneticisi'ni devre dışı bırakmak için aşağıdaki PowerShell komutunu kullanabilirsiniz:

Disable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V-Hypervisor

Intel HAXM ve Microsoft Hyper-V aynı anda etkin olamaz. Ne yazık ki, bilgisayarınızı yeniden başlatmadan Hyper-V ile HAXM arasında geçiş yapmanıza imkan yoktur.

Bazı durumlarda, Device Guard ve Credential Guard etkinse, yukarıdaki adımların kullanılması Hyper-V'yi devre dışı bırakmada başarılı olmaz. Hyper-V'yi devre dışı bırakamıyorsanız (veya devre dışı gibi görünüyor ancak HAXM yüklemesi yine başarısız oluyorsa), Device Guard ve Credential Guard'ı devre dışı bırakmak için sonraki bölümdeki adımları kullanın.

Device Guard'ı devre dışı bırakma

Device Guard ve Credential Guard, Windows makinelerinde Hyper-V'nin devre dışı bırakılmasını engelleyebilir. Bu durum genellikle sahip olan bir kuruluş tarafından yapılandırılan ve denetlenen etki alanına katılmış makineler için bir sorundur. Windows 10'da, Device Guard'ın çalışıp çalışmadığını görmek için aşağıdaki adımları kullanın:

  1. Windows arama kutusuna Sistem bilgileri yazın ve arama sonuçlarında Sistem Bilgileri seçin.

  2. Sistem Özeti'nde Device Guard Sanallaştırma tabanlı güvenliğin mevcut olup olmadığını ve Çalışıyor durumunda olup olmadığını denetleyin:

    Device Guard is present and running

Device Guard etkinse devre dışı bırakmak için aşağıdaki adımları kullanın:

  1. Önceki bölümde açıklandığı gibi Hyper-V'nin devre dışı bırakıldığından (Windows Özelliklerini Aç veya Kapat altında) emin olun.

  2. Windows Search Kutusu'na gpedit.msc yazın ve Grup ilkesi arama sonucunu düzenle'yi seçin. Bu adımlar Yerel Grup İlkesi Düzenleyicisi'ni başlatır.

  3. Yerel Grup İlkesi Düzenleyicisi'nde Bilgisayar Yapılandırması > Yönetici istrative Templates > System > Device Guard'a gidin:

    Device Guard in Local Group Policy Editor

  4. Sanallaştırma Tabanlı GüvenliğiAç ayarını Devre Dışı olarak değiştirin (yukarıda gösterildiği gibi) ve Yerel Grup İlkesi Düzenleyicisi'nde çıkın.

  5. Windows Arama Kutusu'na cmd girin. Arama sonuçlarında Komut İstemi göründüğünde, Komut İstemi'ne sağ tıklayın ve Yönetici istrator olarak çalıştır'ı seçin.

  6. Aşağıdaki komutları kopyalayıp komut istemi penceresine yapıştırın (Z: sürücüsü kullanımdaysa, bunun yerine kullanılmayan bir sürücü harfi seçin):

    mountvol Z: /s
    copy %WINDIR%\System32\SecConfig.efi Z:\EFI\Microsoft\Boot\SecConfig.efi /Y
    bcdedit /create {0cb3b571-2f2e-4343-a879-d86a476d7215} /d "DebugTool" /application osloader
    bcdedit /set {0cb3b571-2f2e-4343-a879-d86a476d7215} path "\EFI\Microsoft\Boot\SecConfig.efi"
    bcdedit /set {bootmgr} bootsequence {0cb3b571-2f2e-4343-a879-d86a476d7215}
    bcdedit /set {0cb3b571-2f2e-4343-a879-d86a476d7215} loadoptions DISABLE-LSA-ISO,DISABLE-VBS
    bcdedit /set {0cb3b571-2f2e-4343-a879-d86a476d7215} device partition=Z:
    mountvol Z: /d
    
  7. Bilgisayarınızı yeniden başlatın. Önyükleme ekranında aşağıdaki iletiye benzer bir istem görmeniz gerekir:

    Credential Guard'ı devre dışı bırakmak istiyor musunuz?

    İstendiği gibi Credential Guard'ı devre dışı bırakmak için belirtilen tuşa basın.

  8. Bilgisayar yeniden başlatıldıktan sonra Hyper-V'nin devre dışı bırakıldığını (önceki adımlarda açıklandığı gibi) yeniden denetleyin.

Hyper-V hala devre dışı bırakılmadıysa, etki alanına katılmış bilgisayarınızın ilkeleri Device Guard veya Credential Guard'ı devre dışı bırakmanızı engelleyebilir. Bu durumda, Credential Guard'ı geri çevirmenize izin vermek için etki alanı yöneticinizden bir muafiyet isteyebilirsiniz. Alternatif olarak, HAXM kullanmanız gerekiyorsa etki alanına katılmayan bir bilgisayar da kullanabilirsiniz.

Ek sorun giderme ipuçları

Aşağıdaki öneriler genellikle Android öykünücüsü sorunlarını tanılamada yararlıdır.

Öykünücüyü komut satırından başlatma

Öykünücü zaten çalışmıyorsa, çıktısını görüntülemek için komut satırından (Visual Studio'dan değil) başlatabilirsiniz. Genellikle, Android öykünücüsü AVD görüntüleri şu konumda depolanır (kullanıcı adını Windows kullanıcı adınız ile değiştirin):

C:\Users\username\.android\avd

AvD'nin klasör adını geçirerek öykünücüyü bu konumdan bir AVD görüntüsüyle başlatabilirsiniz. Örneğin, bu komut Pixel_API_27 adlı bir AVD başlatır:

"C:\Program Files (x86)\Android\android-sdk\emulator\emulator.exe" -partition-size 512 -no-boot-anim -verbose -feature WindowsHypervisorPlatform -avd Pixel_API_27 -prop monodroid.avdname=Pixel_API_27

Bu örnekte, Android SDK'sının varsayılan C:\Program Files (x86)\Android\android-sdk konumunda yüklü olduğu varsayılır; yüklü değilse, bilgisayarınızdaki Android SDK'sının konumu için yukarıdaki yolu değiştirin.

Bu komutu çalıştırdığınızda, öykünücü başlatılırken birçok çıkış satırı oluşturur. Özellikle, donanım hızlandırma etkinse ve düzgün çalışıyorsa aşağıdaki örnek gibi satırlar yazdırılır (bu örnekte, donanım hızlandırma için HAXM kullanılır):

emulator: CPU Acceleration: working
emulator: CPU Acceleration status: HAXM version 6.2.1 (4) is installed and usable.

Aygıt Yöneticisi günlüklerini görüntüleme

Genellikle Aygıt Yöneticisi günlüklerini görüntüleyerek öykünücü sorunlarını tanılayabilirsiniz. Bu günlükler aşağıdaki konuma yazılır:

C:\Users\username\AppData\Local\Xamarin\Logs\16.0

Not Defteri gibi bir metin düzenleyicisi kullanarak her DeviceManager.log dosyasını görüntüleyebilirsiniz. Aşağıdaki örnek günlük girdisi, HAXM'nin bilgisayarda bulunamadığını gösterir:

Component Intel x86 Emulator Accelerator (HAXM installer) r6.2.1 [Extra: (Intel Corporation)] not present on the system

macOS'ta dağıtım sorunları

Uygulamanızı dağıtırken öykünücü tarafından bazı hata iletileri görüntülenebilir. En yaygın hatalar ve çözümler aşağıda açıklanmıştır.

Dağıtım hataları

Öykünücüye APK yükleme hatası veya Android Hata Ayıklama Köprüsü'nün (adb) çalıştırılamamasıyla ilgili bir hata görürseniz, Android SDK'nın öykünücünüze bağlanabildiğini doğrulayın. Bağlantıyı doğrulamak için aşağıdaki adımları kullanın:

  1. Öykünücüyü Android Aygıt Yöneticisi başlatın (sanal cihazınızı seçin ve Başlat'a tıklayın).

  2. Bir komut istemi açın ve adb'nin yüklü olduğu klasöre gidin. Android SDK varsayılan konumunda yüklüyse, adb ~/Library/Developer/Xamarin/android-sdk-macosx/platform-tools/adb konumunda bulunur; yüklü değilse, bu yolu bilgisayarınızdaki Android SDK'sının konumu için değiştirin.

  3. Aşağıdaki komutu yazın:

    adb devices
    
  4. Öykünücüye Android SDK'dan erişilebiliyorsa, öykünücü ekli cihazlar listesinde görünmelidir. Örneğin:

    List of devices attached
    emulator-5554   device
    
  5. Öykünücü bu listede görünmüyorsa Android SDK Yöneticisi'ni başlatın, tüm güncelleştirmeleri uygulayın ve öykünücüyü yeniden başlatmayı deneyin.

MMIO erişim hatası

MMIO erişim hatası oluştuysa öykünücüyü yeniden başlatın.

Eksik Google Play Hizmetleri

Öykünücüde çalıştırdığınız sanal cihazda Google Play Hizmetleri veya Google Play Store yüklü değilse, bu durum genellikle bu paketleri eklemeden bir sanal cihaz oluşturulmasından kaynaklanır. Bir sanal cihaz oluşturduğunuzda (bkz. Android Aygıt Yöneticisi ile Sanal Cihazları Yönetme) aşağıdakilerden birini veya ikisini birden seçtiğinizden emin olun:

  • Google API'leri – sanal cihazda Google Play Hizmetleri'ni içerir.
  • Google Play Store – sanal cihazdaki Google Play Store'a dahildir.

Örneğin, bu sanal cihaz Google Play Services ve Google Play Store içerir:

Example AVD with Google Play Services and Google Play Store enabled

Not

Google Play Store görüntüleri yalnızca Pixel, Pixel 2, Nexus 5 ve Nexus 5X gibi bazı temel cihaz türlerinde kullanılabilir.

Performans sorunları

Performans sorunlarına genellikle aşağıdaki sorunlardan biri neden olur:

  • Öykünücü donanım hızlandırma olmadan çalışıyor.

  • Öykünücüde çalışan sanal cihaz x86 tabanlı bir sistem görüntüsü kullanmıyor.

Aşağıdaki bölümlerde bu senaryolar daha ayrıntılı olarak ele alınıyor.

Donanım hızlandırma etkin değil

Donanım hızlandırma etkin değilse, uygulamanızı Android öykünücüsine dağıttığınızda cihaz gibi bir iletinin yanı sıra bir iletişim kutusu açılabilir. Bilgisayarınızda donanım hızlandırmanın etkinleştirilip etkinleştirilmediğinden emin değilseniz (veya hızlandırmayı hangi teknolojinin sağladığını öğrenmek istiyorsanız), donanım hızlandırmayı doğrulamak ve etkinleştirmek için uygulayabileceğiniz adımlar için aşağıdaki Donanım hızlandırma sorunları bölümüne bakın.

Hızlandırma etkinleştirildi ancak öykünücü çok yavaş çalışıyor

Bu sorunun yaygın bir nedeni, sanal cihazınızda x86 tabanlı bir görüntü kullanmamadır. Sanal cihaz oluştururken (bkz. Android Aygıt Yöneticisi ile Sanal Cihazları Yönetme) x86 tabanlı bir sistem görüntüsü seçtiğinizden emin olun:

Selecting an x86 system image for a virtual device

Donanım hızlandırma sorunları

Öykünücünün donanım hızlandırması için Hypervisor Framework veya HAXM kullanıyor olun, yükleme sorunlarının veya macOS'un güncel olmayan bir sürümünün neden olduğu sorunlarla karşılaşabilirsiniz. Aşağıdaki bölümler bu sorunu çözmenize yardımcı olabilir.

Hiper Yönetici Çerçevesi sorunları

Daha yeni bir Mac'te macOS 10.10 veya üzerini kullanıyorsanız, Android öykünücüsü donanım hızlandırma için otomatik olarak Hypervisor Framework'i kullanır. Ancak, macOS'un 10.10'dan önceki bir sürümünü çalıştıran bazı eski Mac'ler veya Mac'ler Hypervisor Framework desteği sağlamayabilir.

Mac'inizin Hypervisor Framework'ün desteklenip desteklenmediğini belirlemek için bir Terminal açın ve aşağıdaki komutu girin:

sysctl kern.hv_support

Mac'iniz Hypervisor Framework'ü destekliyorsa, yukarıdaki komut aşağıdaki sonucu döndürür:

kern.hv_support: 1

Mac bilgisayarınızda Hypervisor Framework kullanılamıyorsa, hızlandırma için HAXM'yi kullanmak için HAXM ile Hızlandırma'daki adımları izleyebilirsiniz.

HAXM sorunları

Android Öykünücüsü düzgün başlamazsa, bu sorun genellikle HAXM ile ilgili sorunlardan kaynaklanır. HAXM sorunları genellikle diğer sanallaştırma teknolojileriyle, yanlış ayarlarla veya güncel olmayan bir HAXM sürücüsüyle çakışmaların sonucu olur. HAXM'yi Yükleme bölümünde ayrıntılı olarak yer alan adımları kullanarak HAXM sürücüsünü yeniden yüklemeyi deneyin.

Ek sorun giderme ipuçları

Aşağıdaki öneriler genellikle Android öykünücüsü sorunlarını tanılamada yararlıdır.

Öykünücüyü komut satırından başlatma

Öykünücü zaten çalışmıyorsa, çıktısını görüntülemek için komut satırından (Mac için Visual Studio içinden değil) başlatabilirsiniz. Genellikle, Android öykünücüsü AVD görüntüleri aşağıdaki konumda depolanır:

~/.android/avd

AvD'nin klasör adını geçirerek öykünücüyü bu konumdan bir AVD görüntüsüyle başlatabilirsiniz. Örneğin, bu komut Pixel_2_API_28 adlı bir AVD başlatır:

~/Library/Developer/Xamarin/android-sdk-macosx/emulator/emulator -partition-size 512 -no-boot-anim -verbose -feature WindowsHypervisorPlatform -avd Pixel_2_API_28 -prop monodroid.avdname=Pixel_2_API_28

Android SDK varsayılan konumunda yüklüyse öykünücü ~/Library/Developer/Xamarin/android-sdk-macosx/emulator dizininde bulunur; yüklü değilse, bu yolu Mac bilgisayarınızdaki Android SDK'sının konumu için değiştirin.

Bu komutu çalıştırdığınızda, öykünücü başlatılırken birçok çıkış satırı oluşturur. Özellikle, donanım hızlandırma etkinse ve düzgün çalışıyorsa aşağıdaki örnek gibi satırlar yazdırılır (bu örnekte, donanım hızlandırma için Hypervisor Framework kullanılır):

emulator: CPU Acceleration: working
emulator: CPU Acceleration status: Hypervisor.Framework OS X Version 10.13

Adlandırma Amacı Ek özellikleriyle ilgili sorunlar

Android Çalıştırma Yapılandırmanızda Amaç Ekleri ayarladığınızda yalnızca A-Z, a-z, '_', '-' ve sayılar desteklenir. Ayrıca, tüm anahtar değerleri benzersiz olmalıdır.

Aygıt Yöneticisi günlüklerini görüntüleme

Genellikle Aygıt Yöneticisi günlüklerini görüntüleyerek öykünücü sorunlarını tanılayabilirsiniz. Bu günlükler aşağıdaki konuma yazılır:

~/Library/Logs/XamarinDeviceManager

Android Devices.log dosyalarını, Konsol uygulamasında açmak için çift tıklayarak görüntüleyebilirsiniz. Aşağıdaki örnek günlük girdisi HAXM'nin bulunamadığını gösterir:

Component Intel x86 Emulator Accelerator (HAXM installer) r6.2.1 [Extra: (Intel Corporation)] not present on the system