Android Emülatör ile ilgili bilinen sorunları giderme

Bu sayfada, Android Emulator ile ilgili bilinen sorunlar, geçici çözümler ve sorun giderme ipuçları listelenmektedir. Burada listelenmeyen bir sorunla karşılaşırsanız veya burada listelenen geçici bir çözümü başarıyla kullanamıyorsanız hata bildiriminde bulunun.

Yeterli disk alanı olup olmadığını kontrol edin

Emülatör, boş disk alanı olmaması nedeniyle kilitlenmeleri ve takılmaları önlemek için başlangıçta yeterli boş disk alanı olup olmadığını kontrol eder ve en az 2 GB boş alan olmadığı sürece başlamaz. Emülatör çalışmazsa yeterli boş disk alanınızın olup olmadığını kontrol edin.

Antivirüs yazılımı

Birçok güvenlik ve virüsten koruma yazılımı paketi her okuma ve yazma işlemini izleyerek çalıştığından bu tür yazılımların kullanılması, Android Emulator gibi araçların performansını düşürebilir.

Birçok virüsten koruma paketi, güvenilir uygulamalar listesine belirli uygulamaları ekleyebilme olanağı sağlar. Böylece, listelenen uygulamalar performansta düşüş yaşanmadan çalışabilir. AVD anlık görüntülerini kaydetme veya yükleme konusunda düşük performans yaşıyorsanız Android Emulator uygulamasını virüsten koruma yazılımınıza güvenilir bir uygulama olarak ekleyerek bu performansı artırabilirsiniz.

Virüsten koruma yazılımı paketlerinin performans üzerindeki etkisi farklıdır. İşletim sisteminizde bulunanların dışında başka virüsten koruma yazılımı yüklüyse, hangi virüsten koruma yazılımının emülatör yükü ve kaydetme işlemleri üzerinde daha iyi performans etkisi olduğunu belirlemek için basit testler yapabilirsiniz.

Bazı virüsten koruma yazılımları Android Emülatör ile uyumlu olmayabilir.

Avast yazılımı kullanıyor ve Android Emulator'ı çalıştırma konusunda sorun yaşıyorsanız Avast Sorun Giderme ayarlarında Kullanılabilir olduğunda iç içe sanallaştırma kullan ve Donanım destekli sanallaştırmayı etkinleştir seçeneklerini devre dışı bırakın. Ayrıca Avast donanım sanallaştırması devre dışı bırakıldıktan sonra, SDK Manager'dan en son HAXM'nin tam olarak yeniden yüklenmesiyle HAXM'nin tekrar doğru şekilde kurulduğundan emin olun.

Windows'da bazen HAXM ile AVD donar ve bu sorun McAfee'nin tamamen kaldırılmasıyla çözülebilir.

AVD başlatılamıyor

Daha yeni bir emülatöre ilişkin kilitlenme raporu varsa ortalama görüntüleme modu başlatılmayabilir (281725854 numaralı sorun). Bu sorun yalnızca canary 33.x sürümünden 32.1.13'e güncelleyen, 33.x sürümünü en son çalıştırdıklarında kilitlenme yaşayan ve o zamandan beri AVD'sini yeniden başlatmayan kullanıcılar için geçerlidir. Bu nedenle %TEMP% veya /tmp dizini hâlâ açık durumdadır. Bu sorunu yaşıyorsanız %TEMP% dizinini temizlemeyi deneyin (Linux veya macOS'te /tmp).

macOS'in desteklenmeyen sürümlerinde HAXM

Android Emulator'ı macOS'in eski ve desteklenmeyen eski sürümlerinde (ör. 10.9) kullanıyorsanız HAXM'nin (6.1.2) eski bir sürümünü de kullanmanız gerekebilir.

Android Emulator, güncelleme sonrasında yavaş çalışıyor

Bazı harici faktörler, Android Emülatör'ün güncelleme sonrasında yavaş çalışmaya başlamasına neden olabilir. Sorun gidermeye başlamak için aşağıdaki adımları uygulamanızı öneririz:

  • Intel GPU'nuz (ve özellikle Intel HD 4000) varsa en yeni Intel grafik sürücüsünü indirip yüklediğinizden emin olun.
  • Makinenizde hem Intel HD 4000 GPU hem de ayrı bir GPU varsa, ayrı bir GPU kullandığınızdan emin olmak için Cihaz Yöneticisi'nde Intel HD 4000 GPU'yu devre dışı bırakın.
  • -gpu angle, -gpu swiftshader veya -gpu guest modlarını kullanarak emülatörü çalıştırın. Komut satırında grafik hızlandırma seçeneklerini yapılandırma hakkında daha fazla bilgi edinmek için Donanım hızlandırmayı yapılandırma bölümüne bakın.
  • IPv6 bağlantınız yoksa yönlendiricinizin IPv6 adresleri kullanmadığından emin olun.

Android Emülatör'ün yavaş çalışmasıyla ilgili sorunlar yaşamaya devam ediyorsanız araştırma yapabilmemiz için hata bildiriminde bulunun ve gerekli Android Emülatör ayrıntılarını ekleyin.

Windows: Boş RAM ve taahhüt ücreti

Emülatör başladığında, Android konuk işletim sisteminin RAM'ini başlatması gerekir. Windows'da emülatör, Windows'un başlangıç zamanında konuk belleğinin tam boyutunu hesaba katmasını ister. Gerçek çalışma sırasında bellek isteğe bağlı olarak sayfalanabilir. Windows, potansiyel çalışma grubunun tamamını barındıracak yeterli fiziksel RAM ve disk belleği dosyası bulunduğundan emin olmak adına emülatör başlangıç zamanında konuk belleğinin tamamını ister. Bu istek, hiçbir misafirin belleğini silme veya başka şekilde yer açma fırsatı olmaksızın tüm konuk belleğine hızlı bir şekilde dokunulduğu en kötü durum için hazırlanır.

Bazen emülatör Windows'dan bu tam konuk bellek boyutunu hesaba katmasını istediğinde istek, kullanılabilir fiziksel RAM ve disk belleği dosyasının toplamı olan geçerli kaydetme sınırını aşar. Bu durumda Windows, en kötü çalışma grubunun fiziksel RAM'e veya sayfa dosyasına sığacağını garanti edemez ve emülatör başlatılamaz.

Tipik durumlarda, sayfa dosyası için ayrılan sabit disk alanı ve fiziksel RAM miktarı, emülatörün çoğu kullanım durumu için yeterliden fazladır. Ancak kaydetme sınırını aştığınız için emülatörü başlatmada hatalarla karşılaşırsanız Windows Görev Yöneticisi'ndeki Performans sekmesinde görebileceğiniz mevcut taahhüt ücretini incelemenizi öneririz. Görev Yöneticisi'ni açmak için Ctrl+Üst Karakter+Esc tuşlarına basın.

Kaydetme sınırını çeşitli şekillerde aşma olasılığını azaltmak için:

  • Emülatörü başlatmadan önce, kullanılmayan uygulamaları ve dosyaları kapatarak fiziksel RAM'de yer açın.
  • Üçüncü taraf bellek yönetimi ve bellek sıkıştırma yardımcı programlarını devre dışı bırakın. Bu yardımcı programlar, verimsiz bir şekilde aşırı taahhüt ücretine neden olabilir ve sisteminizi taahhüt sınırına yaklaştırabilir.
  • Windows disk belleği dosyası için, emülatörün ve diğer uygulamaların artan talebe karşılık olarak sayfa dosyası boyutunu daha esnek ve dinamik bir şekilde artırabilecek ve dolayısıyla kaydetme sınırını artırabilecek bir sistem tarafından yönetilen boyut kullanın.

    Taahhüt ücretleri ve esnek bir ayarın neden en iyi sonucu verdiği hakkında daha fazla bilgi için bu Microsoft makalesini okuyun.

Çoklu dokunma özelliği araç penceresinde çalışmıyor

İki parmakla kaydırma da dahil olmak üzere çoklu dokunma hareketleri, emülatör bir araç penceresinde çalışırken çalışmaz. Çoklu dokunmayı etkinleştirmek için emülatörü ayrı bir pencerede başlatın.

Emülatör Bluetooth ses çıkışını düşürür

Bluetooth mikrofonlu kulaklık kullanıyorsanız emülatör çalışırken Bluetooth kulaklık ses çıkışının azaldığını fark edebilirsiniz (183139207 numaralı sorun). Bunun nedeni, emülatörün başlatıldığında başlığın mikrofonunun açılmasıdır. Bu durum, mikrofonlu kulaklığın çift yönlü moda düşük kalitede geçiş yapmasına neden olur.

Bu sorunu önlemek için Android Virtual Device'ın (AVD) config.ini dosyasına hw.audioInput=no ekleyerek emülatörde mikrofonu devre dışı bırakın. Bir AVD'nin config.ini dosyasını bulmak için Cihaz Yöneticisi'nde Ortalama Görüntüleme Süresine gidin, taşma menüsünü tıklayın ve Diskte Göster'i seçin.

Windows: AVD adında Unicode varsa emülatör başlatılamıyor

Windows'da Cihaz Yöneticisi bir Android Sanal Cihazı (AVD) oluşturduğunda, varsayılan olarak ortalama görüntüleme süresini C:\Users\<name>\.android\avd konumunda oluşturur. Ancak, ortalama değer adı (<name>) Unicode içeriyorsa emülatör, bu varsayılan konumu kullanarak AVD'yi düzgün bir şekilde başlatamaz.

Bu sorun, Emulator 31.3.6 ve sonraki sürümlerde düzeltilmiştir. Bu sorunu çözmek için Araçlar > SDK Yöneticisi'ni seçerek emülatörü güncelleyin.

Alternatif olarak, bu sorunu çözmek için ortalama görüntüleme süresi oluşturmadan önce ANDROID_SDK_HOME ortam değişkenini özel bir dizine ayarlayın. Örneğin, C:\Android\home dizinini oluşturun ve ANDROID_SDK_HOME öğesini yeni oluşturulan bu dizine ayarlayın. Daha fazla bilgi edinmek için Ortam değişkenleri bölümüne bakın.

Yerleştirilmiş emülatör penceresi çok küçük

1024x768 gibi daha düşük çözünürlüğe sahip makinelerde, Android Studio'daki bir araç penceresinde çalıştırıldığında emülatör ekranını okumak zor olabilir. Emülatöre daha fazla alan açmak için açıksa Cihaz Yöneticisi araç penceresini kapatın. Ayrıca, emülatör penceresini Android Studio'nun dışına da çekebilirsiniz. Bunu yapmak için emülatör penceresinde Ayarlar > Görünüm Modu'nu tıklayın ve Yuva Sabitlendi yerine Pencere'yi seçin.

Hata: vulkan-1.dll bulunamıyor

Emülatör vulkan-1.dll cannot be found hatası nedeniyle başlatılamazsa muhtemelen emülatörü güncellemeniz gerekir. Android Studio'da emülatörü güncellemek için Araçlar > SDK Yöneticisi'ne gidin ve Android platformunun en son kararlı sürümünü yükleyin.

Alternatif olarak, Vulkan grafik kitaplığını kullanan herhangi bir uygulamaya ihtiyacınız yoksa -feature -Vulkan işaretiyle emülatörü komut satırından başlatarak Vulkan'ı kapatın.

İnternet yok: sunucu DNS adresi bulunamıyor

Emülatör internete bağlanamıyorsa -dns-server “2001:4860:4860::8844,2001:4860:4860::8888,8.8.8.8,8.8.4.4” seçeneğini kullanarak emülatörü komut satırından başlatmayı deneyin. Bu komut, Google Açık DNS IP adreslerinin virgülle ayrılmış bir listesini sağlar. Google Açık DNS hakkında daha fazla bilgi edinmek için Cihazlarınız için Google Açık DNS sayfasına bakın.

İnternet yok: DNS çözümleme sorunları

Bazen /etc/resolv.conf dosyasındaki DNS adresleri düzgün çalışmayabilir. Yalnızca IPv6 ağ üzerinden bağlanmak için -dns-server 8.8.8.8 veya -dns.server 2001:4860:4860::8888 seçeneğini kullanıp emülatörü komut satırından başlatarak bu sorunu çözebilirsiniz.

Anlık görüntü oluşturulamadı

Vulkan grafik kitaplığını içeren emülatörün anlık görüntüsü oluşturulması desteklenmez. Emülatörü Vulkan olmadan çalıştırmak için -feature -Vulkan işaretini kullanarak emülatörü komut satırından başlatın. Alternatif olarak, geliştirme iş akışınızın bir parçası olarak anlık görüntü kullanmak istiyorsanız Vulkan'ı içeren uygulamaları (ör. API 30 veya sonraki sürümlerdeki Chrome) kaldırabilir ve kullanmaktan kaçınabilirsiniz.

Web sayfası doğru şekilde açılamıyor

API düzeyi 30'dan başlayarak Chrome, oluşturma arka ucu olarak Vulkan grafik kitaplığını kullanır ve belirli makinelerde uyumluluk sorunları yaşanabilir. Chrome sizin için düzgün şekilde oluşturulmuyorsa -feature -Vulkan işaretini kullanarak emülatörü komut satırından başlatmayı deneyin.

Intel HAXM hipervizörü, Intel öncesi iX CPU'ları tam olarak desteklemez

Bilgisayarınızda Intel iX öncesi bir CPU ve Intel HAXM hipervizörü varsa emülatörle ilgili performans sorunları yaşayabilirsiniz. Bunun nedeni, emülatörün bu eski makinelerin performansını iyileştirmek için donanım hızlandırmayı kullanamamasıdır. Intel iX öncesi bir CPU kullanıyorsanız emülatör yerine fiziksel bir cihaz kullanırsanız daha iyi bir test deneyimi yaşayabilirsiniz.

Hipervizörler, x86 Android sistemleri için gereken belirli CPU özelliklerini emüle edemez

Hipervizörler genellikle x86 Android sistemleri için gerekli olan SIMD Uzantılarını Yayınlama (SSE) gibi belirli CPU özelliklerini emüle edemez.

Android sanal cihazlar ChromeOS'te başlatılamıyor

ChromeOS'te Android Virtual Cihazlar (AVD'ler), libnss3 bağımlılığı eksik olduğu için başlatılamayabilir. AVD'leri başarılı bir şekilde başlatmak için sudo apt install libnss3 komutunu çalıştırarak libnss3 kitaplığını manuel olarak yükleyin.

GPU Sürücüsü Uyarısı - Intel HD4000'de Yazılıma Dönülüyor

GPU sürücüsünün geri çekilmesiyle ilgili bir uyarı alıyorsanız GPU yapılandırmasını donanım olarak değiştirmeyi deneyin. Varsayılan olarak, yazılım oluşturmayı seçebilecek otomatik kullanır. Donanım seçerseniz donanım oluşturmayı kullanmaya zorlayabilirsiniz (yine de bir uyarı mesajı görüntülenebilir).

Play Store dışındaki resimler için bu işlemi cihaz yöneticisi -> 3 nokta -> düzenle bölümünden yapabilirsiniz. Play Store görüntüleri için bu 2 yapılandırma dosyasını manuel olarak düzenlemeniz gerekir:

~/.android/avd_adınız.avd/config.ini

~/.android/avd_adınız.avd/hardware-qemu.ini

ve hw.gpu.mode değerini host olarak değiştirin

Daha ayrıntılı bilgi için bug bölümüne bakın.

Emülatör, Windows Chrome Uzaktan Masaüstü'nde başlatılmıyor

Emülatör, Windows'da Chrome Uzaktan Masaüstü kullanılırken başlatılmıyorsa şu anda önerilen çözüm, -gpu hosts veya -gpu swiftshader gibi GPU flag'i kullanmaktır.