Emülatör, tamamen yazılım olarak çalışmak yerine makinenizin donanımını (ör. CPU, GPU ve modem) kullanabildiği takdirde en iyi şekilde çalışır. Performansı artırmak için makinenizin donanımını kullanma özelliğine donanım hızlandırma adı verilir.
Emülatör, deneyiminizi iyileştirmek için donanım hızlandırmayı iki temel şekilde kullanabilir:
- Daha iyi ekran oluşturma için grafik hızlandırma
- Daha iyi yürütme hızı için sanal makine (VM) hızlandırma
Donanım hızlandırma, çoğu makinede varsayılan olarak etkindir. Makinenizde etkin değilse bu sayfada, emülatörden daha yüksek performans elde etmek için grafikleri ve sanal makine (VM) hızlandırmayı nasıl yapılandırabileceğiniz açıklanmaktadır.
Grafik hızlandırmayı yapılandırma
Android cihazlar, ekranda grafik oluşturmak için OpenGL for Embedded Systems (OpenGL ES veya GLES) ve Vulkan API'lerini kullanır. Grafik hızlandırma, oluşturma işlemini hızlandırmak için bilgisayarınızın donanımının (genellikle GPU) kullanılmasını sağlar. Donanım hızlandırma, performans için önerilse de bilgisayarınız grafik sürücüsü desteği veya eksik sistem görüntüsü gereksinimleri nedeniyle uyumlu değilse yazılım modunu kullanmanız gerekebilir.
AVD Yöneticisi'nde bir Android Sanal Cihaz (AVD) oluşturduğunuzda, emülatörün donanım veya yazılım oluşturma kullanıp kullanmayacağını belirtebilirsiniz. Otomatik modda, emülatör bilgisayarınıza göre donanım veya yazılım grafik hızlandırmanın kullanılıp kullanılmayacağına karar verir. Emülatörü komut satırından başlatırsanız ayarı geçersiz kılabilirsiniz.
AVD Yöneticisi'nde grafik hızlandırmayı yapılandırma
AVD için grafik hızlandırmayı yapılandırmak üzere aşağıdaki adımları uygulayın:
- Cihaz Yöneticisi'ni açın.
- Yeni bir AVD oluşturun veya mevcut bir AVD'yi düzenleyin.
- Yapılandırma penceresinde, Ek Ayarlar sekmesinin altındaki Emulated Performance (Emüle Edilen Performans) bölümünü bulun.
- Grafik hızlandırma seçeneği için bir değer belirleyin.
- Son'u tıklayın.
Grafik hızlandırmayı komut satırından yapılandırma
Komut satırından bir AVD çalıştırırken grafik hızlandırma türünü belirtmek için aşağıdaki örnekte gösterildiği gibi -gpu
seçeneğini ekleyin:
emulator -avd avd_name -gpu mode [{-option [value]} ... ]
mode
değeri aşağıdaki seçeneklerden birine ayarlanabilir:
auto
: Emülatörün, AVD'ye, bilgisayar kurulumuna ve kalite metriklerine göre donanım veya yazılım grafik hızlandırması arasında seçim yapmasına izin verin.host
: Donanım hızlandırma için bilgisayarınızdaki GPU'yu kullanın. Bu seçenek genellikle emülatör için en yüksek grafik kalitesini ve performansı sağlar. Ayrıca, hızlandırılmış Vulkan oluşturma için macOS'te MoltenVK'yi etkinleştirebilir. Ancak grafik emülasyonuyla ilgili sorun yaşarsanız yazılım oluşturmaya geçmeniz gerekebilir.swiftshader_indirect
: Yazılım hızlandırmayı kullanarak grafikleri oluşturmak için SwiftShader'ın Hızlı Başlatma ile uyumlu bir varyantını kullanın. Bilgisayarınız donanım hızlandırmayı kullanamıyorsa bu seçenek,host
modu için iyi bir alternatiftir.
Aşağıdaki mode
seçenekleri kullanımdan kaldırıldı:
swiftshader
: 27.0.2 sürümünde desteği sonlandırıldı. Bunun yerineswiftshader_indirect
politikasını kullanın.angle
: 27.0.2 sürümünde desteği sonlandırıldı. Bunun yerineswiftshader_indirect
politikasını kullanın.mesa
: 25.3 sürümünde desteği sonlandırıldı. Bunun yerineswiftshader_indirect
politikasını kullanın.guest
: API düzeyi 28 ve sonraki sürümlerde kullanımdan kaldırılmıştır. Bunun yerineswiftshader_indirect
politikasını kullanın.angle_indirect
: 34.2.14 sürümünde desteği sonlandırıldı. Bunun yerineswiftshader_indirect
politikasını kullanın.
Sanal makine hızlandırmayı yapılandırma
Sanal makine hızlandırma, emülatörün yürütme hızını önemli ölçüde artırmak için bilgisayarınızın işlemcisini kullanır. Hipervizör adı verilen bir araç, bilgisayarınızın işlemcisinin sağladığı sanallaştırma uzantılarını kullanarak bu etkileşimi yönetir. Bu bölümde, sanal makine hızlandırmayı kullanmayla ilgili şartlar özetlenmekte ve her işletim sisteminde sanal makine hızlandırmanın nasıl ayarlanacağı açıklanmaktadır.
Genel gereksinimler
Emülatörle VM hızlandırmayı kullanmak için bilgisayarınızın bu bölümdeki genel koşulları karşılaması gerekir. Bilgisayarınızın, işletim sisteminize özel diğer gereksinimleri de karşılaması gerekir.
Geliştirme ortamı gereksinimleri
Sanal makine hızlandırmayı kullanmak için geliştirme ortamınızın aşağıdaki koşulları karşılaması gerekir:
- SDK Araçları: Minimum sürüm 17; önerilen sürüm 26.1.1 veya sonraki sürümler
AVD: Gerekli Android sürümü, aşağıdaki tabloda açıklanmıştır.
CPU Mimarisi Sistem görüntüsü koşulu X86_64 Android 2.3.3 (API düzeyi 10) ve sonraki sürümler için x86 veya x86_64 sistem görüntüleri ARM64 Android 5.0 (API düzeyi 21) ve sonraki sürümler için arm64-v8a sistem görüntüleri
Sanallaştırma uzantısı gereksinimleri
Geliştirme ortamı şartlarına ek olarak bilgisayarınızın işlemcisi sanallaştırma uzantılarını desteklemelidir. Desteklenen işlemciler:
- Intel Core iX ve Intel Core Ultra işlemciler gibi Intel Sanallaştırma Teknolojisi (VT-x, vmx) içeren Intel İşlemciler
- AMD-V (SVM) özellikli AMD işlemciler (ör. AMD Ryzen işlemciler)
- Apple çip
Intel ve AMD işlemciler için ek gereksinimler:
Intel ve AMD işlemciler için ikinci düzey adres çevirisi (Intel EPT veya AMD RVI) gerekir. Çoğu modern Intel ve AMD işlemci, ikinci düzey adres çevirisini destekler. Yalnızca sanallaştırma uzantıları sunan birinci nesil Intel veya AMD işlemcilerde ikinci düzey sayfa çevirileri olmayabilir.
İşlemcinizin gerekli uzantıları destekleyip desteklemediğinden emin değilseniz üreticinin sitesinde işlemcinizin özelliklerini kontrol edin. İşlemciniz bu uzantıları desteklemiyorsa VM hızlandırmayı kullanamazsınız.
Kısıtlamalar
Sanal makine hızlandırmasıyla ilgili aşağıdaki kısıtlamalar vardır:
- VirtualBox, VMWare veya Docker tarafından barındırılan bir sanal makine gibi başka bir sanal makinenin içinde sanal makine hızlandırmalı bir emülatör çalıştıramazsınız. Sanal makine hızlandırmalı bir emülatörü doğrudan ana makine bilgisayarınızda çalıştırmanız gerekir.
- İşletim sisteminize ve hipervizörünüze bağlı olarak, VM hızlandırmalı bir emülatör çalıştırırken aynı anda başka bir sanallaştırma teknolojisi kullanan yazılımları çalıştıramayabilirsiniz. Bu tür yazılımlara örnek olarak sanal makine çözümleri, belirli virüsten koruma programları ve birkaç hile önleme çözümü verilebilir ancak örnekler bunlarla sınırlı değildir. Bu durum en çok Hyper-V'nin devre dışı olduğu Windows'da görülür. Bu tür yazılımların çoğu, Android emülatörüyle sorunsuz bir şekilde birlikte çalışabilir. Ancak çakışmalar meydana geldiğinde VM hızlandırmalı emülatörün bu tür yazılımlarla aynı anda çalıştırılmaması önerilir.
Hipervizörler hakkında
VM hızlandırma için, bilgisayarınızın işlemcisi tarafından sağlanan sanallaştırma uzantılarını kullanan bir araç olan hipervizör gerekir.
Hiper yönetici ve sanal makine hızlandırma olmadan, emülatörün sanal makine bloğundaki makine kodunu ana bilgisayarın mimarisine uygun şekilde blok blok çevirmesi gerekir. Bu işlem oldukça yavaş olabilir. Hiper yönetici ile sanal makine ve ana bilgisayarın mimarisi eşleştiğinde, emülatör hiper yöneticiyi kullanarak kodu doğrudan ana işlemcide çalıştırabilir. Bu iyileştirme, emülatörün hızını ve performansını önemli ölçüde artırır.
Sizin için en uygun hipervizör, bilgisayarınızın işletim sistemine ve yapılandırmasına bağlıdır. Daha fazla bilgi için aşağıdaki bölümlerden birine bakın:
- Windows'da sanal makine hızlandırmasını yapılandırma
- macOS'te sanal makine hızlandırmasını yapılandırma
- Linux'ta sanal makine hızlandırmasını yapılandırma
Hipervizörün yüklü olup olmadığını kontrol etme
Bilgisayarınızda şu anda bir hiper yönetici yüklü olup olmadığını kontrol etmek için emülatörün -accel-check
komut satırı seçeneğini kullanabilirsiniz.
Aşağıdaki örneklerde, emülatör accel-check
seçeneğinin nasıl kullanılacağı gösterilmektedir. Her örnekte Sdk
, Android SDK'sının konumudur:
Windows:
c:\Users\janedoe\AppData\Local\Android> Sdk\emulator\emulator -accel-check accel: 0 WHPX(10.0.22631) is installed and usable. accel
macOS:
janedoe-macbookpro:Android janedoe$ ./Sdk/emulator/emulator -accel-check accel: 0 Hypervisor.Framework OS X Version 13.2 accel
Linux:
janedoe:~/Android$ ./Sdk/emulator/emulator -accel-check accel: 0 KVM (version 12) is installed and usable.
Windows'da sanal makine hızlandırmayı yapılandırma
Windows'da sanal makine hızlandırma için iki hipervizörden biri kullanılabilir:
- Windows Hypervisor Platform (WHPX)
- Android Emulator Hypervisor Sürücüsü (AEHD)
Windows Hypervisor Platform, Windows tarafından sağlanan Hyper-V Hiper Yönetici'yi kullanır ve daha az kararsızlıkla en iyi uyumluluğu sunar. Mümkünse WHPX'i kullanmanız gerekir.
Sisteminiz WHPX'i desteklemiyorsa veya kullanımıyla ilgili başka endişeleriniz varsa Android Emulator Hipervizör Sürücüsü'nü kullanabilirsiniz.
Windows Hypervisor Platform'u kullanarak sanal makine hızlandırmayı yapılandırma
WHPX'i etkinleştirebilmeniz için bilgisayarınızın aşağıdaki koşulları karşılaması gerekir:
- Intel işlemciler: Sanallaştırma Teknolojisi (VT-x), Genişletilmiş Sayfa Tabloları (EPT) ve Sınırsız Misafir (UG) özellikleri desteklenir. VT-x, bilgisayarınızın BIOS ayarlarında etkinleştirilmelidir.
- AMD işlemciler: AMD Ryzen işlemci önerilir. Bilgisayarınızın BIOS ayarlarında sanallaştırma veya SVM etkinleştirilmelidir.
- Android Studio 3.2 Beta 1 veya sonraki sürümler
- Android Emulator 27.3.8 veya sonraki sürümler
- Windows 10 veya üzeri
WHPX'i Windows'a yüklemek için aşağıdaki adımları uygulayın:
- Windows masaüstünde, Başlat menüsünü açmak için Windows simgesini tıklayın.
Arama çubuğunu kullanarak Windows özelliklerini aç veya kapat yazın.
Windows özelliklerini aç veya kapat denetim masası görünmeli ve seçilmelidir.
Denetim panelini başlatmak için Enter tuşuna basın veya Windows özelliklerini aç veya kapat'ı tıklayın.
Windows Hypervisor Platform'un yanındaki kutuyu işaretleyin.
Tamam'ı tıklayın.
Yükleme işlemi tamamlandıktan sonra bilgisayarınızı yeniden başlatın.
Windows'da Android Emulator hypervisor sürücüsünü (AEHD) kullanarak sanal makine hızlandırmasını yapılandırma
Android Emulator hiper yönetici sürücüsünü yükleyip kullanabilmeniz için bilgisayarınızın aşağıdaki koşulları karşılaması gerekir:
- Sanallaştırma uzantısı olan Intel veya AMD işlemciler.
64 bit Windows 11 veya Windows 10 (32 bit Windows desteklenmez)
Windows 8.1, Windows 8 ve Windows 7 kullanıcıları AEHD 1.7 veya önceki sürümleri kullanmaya devam edebilir. Ancak bu tür senaryolar için destek sağlanmaz.
Windows Hyper-V Hypervisor'u da kullanan özellikler, Windows Özellikleri iletişim kutusunda devre dışı bırakılmalıdır.
Windows Hipervizör Platformu, Windows Özellikleri iletişim kutusunda seçilmemiş olsa bile belirli Windows bileşenleri Windows Hyper-V Hipervizör'ü etkinleştirir ve kullanır. Bunlar arasında Hyper-V ve çekirdek yalıtımı gibi güvenlik özellikleri yer alır. (Hyper-V özelliğinin, Hyper-V Hypervisor ile aynı OLMADIĞINI unutmayın.) Bu özelliklere ihtiyacınız varsa WHPX'i kullanın.
AMD işlemcilerde Android Emulator hiper yönetici sürücüsü, Android Studio 4.0 Canary 5 veya sonraki sürümlerdeki SDK Manager üzerinden yüklenebilir.
Android Emulator hipervizör sürücüsü, Intel işlemcilerde Android Studio Flamingo veya sonraki sürümlerdeki SDK Manager aracılığıyla yüklenebilir.
SDK Yöneticisi'nden yüklemek için aşağıdaki adımları uygulayın:
- Araçlar > SDK Yöneticisi'ni seçin.
- SDK Tools (SDK Araçları) sekmesini tıklayın ve Android Emulator hypervisor driver'ı (Android Emulator hiper yönetici sürücüsü) seçin.
- Android Emulator hipervizör sürücüsünü indirip yüklemek için Tamam'ı tıklayın.
Yüklemeden sonra, aşağıdaki komut satırı komutunu kullanarak sürücünün doğru şekilde çalıştığını doğrulayın:
AEHD 2.1 ve sonraki sürümler
sc query aehd
Durum mesajı aşağıdaki bilgileri içerir:
SERVICE_NAME: aehd ... STATE : 4 RUNNING ...
Aşağıdaki hata mesajı, BIOS'unuzda sanallaştırma uzantısının etkinleştirilmediği veya Hyper-V'nin devre dışı bırakılmadığı anlamına gelir:
SERVICE_NAME: aehd ... STATE : 1 STOPPED WIN32_EXIT_CODE : 4294967201 (0xffffffa1) ...
AEHD 2.0 ve önceki sürümler
sc query gvm
Durum mesajı aşağıdaki bilgileri içerir:
SERVICE_NAME: gvm ... STATE : 4 RUNNING ...
Aşağıdaki hata mesajı, BIOS'unuzda sanallaştırma uzantısının etkinleştirilmediği veya Hyper-V'nin devre dışı bırakılmadığı anlamına gelir:
SERVICE_NAME: gvm ... STATE : 1 STOPPED WIN32_EXIT_CODE : 4294967201 (0xffffffa1) ...
Android Emulator hipervizör sürücüsü GitHub'dan da indirilebilir ve yüklenebilir.
Sürücü paketi açıldıktan sonra, komut satırında yönetici ayrıcalıklarıyla silent_install.bat
komutunu çalıştırın.
Android Emulator hiper yönetici sürücüsünü, yönetici ayrıcalıklarına sahip bir komut satırında aşağıdaki komutları kullanarak kaldırın:
AEHD 2.1 ve sonraki sürümler
sc stop aehd
sc delete aehd
AEHD 2.0 ve önceki sürümler
sc stop gvm
sc delete gvm
macOS'te sanal makine hızlandırmayı yapılandırma
macOS'te Android Emulator, yerleşik Hypervisor.Framework'ü kullanır. Bu çerçeve için macOS v10.10 (Yosemite) ve sonraki sürümler gerekir. Ancak Android Studio, macOS için daha yeni bir sürüm gerektirebilir. Bu gibi durumlarda Android Studio sistem gereksinimlerine uyun.
Linux'ta sanal makine hızlandırmayı yapılandırma
Linux tabanlı sistemler, KVM yazılım paketi aracılığıyla sanal makine hızlandırmayı destekler. KVM'yi Linux sisteminize yükleme talimatlarını uygulayın ve ardından KVM'nin etkinleştirildiğini doğrulayın. Ubuntu sistemleri için Ubuntu KVM Yükleme başlıklı makaleyi inceleyin.
Şartlar
KVM'nin çalıştırılması için belirli kullanıcı izinleri gerekir. KVM yükleme talimatlarında belirtildiği gibi yeterli izinlere sahip olduğunuzdan emin olun.
Linux'ta sanal makine hızlandırmayı kullanmak için bilgisayarınızın aşağıdaki şartları da karşılaması gerekir:
- Intel işlemciler için: Sanallaştırma Teknolojisi (VT-x), Intel EM64T (Intel 64) özellikleri ve Execute Disable (XD) Bit işlevselliği etkinleştirilmiş olmalıdır.
- AMD işlemciler için: AMD Sanallaştırma (AMD-V) desteği.
KVM'nin Linux'a yüklenip yüklenmediğini kontrol etme
KVM'nin yüklü olup olmadığını kontrol etmek için -accel-check
komut satırı seçeneğini kullanabilirsiniz. Alternatif olarak, cpu-checker
komutunu içeren cpu-checker
paketini yükleyebilirsiniz.kvm-ok
Aşağıdaki örnekte kvm-ok
komutunun nasıl kullanılacağı gösterilmektedir:
cpu-checker
paketini yükleyin:sudo apt-get install cpu-checker egrep -c '(vmx|svm)' /proc/cpuinfo
1 veya daha yüksek bir çıkış, sanallaştırmanın desteklendiği anlamına gelir. 0 çıkışı, CPU'nuzun donanım sanallaştırmayı desteklemediği anlamına gelir.
kvm-ok
komutunu çalıştırın:sudo kvm-ok
Beklenen çıktı:
INFO: /dev/kvm exists KVM acceleration can be used
Aşağıdaki hatayı alırsanız sanal makineleri çalıştırmaya devam edebilirsiniz. Ancak sanal makineniz KVM uzantıları olmadan daha yavaş çalışır.
INFO: Your CPU does not support KVM extensions KVM acceleration can NOT be used
Linux'a KVM'yi yükleme
KVM'yi yüklemek için aşağıdaki komutu kullanın:
Cosmic (18.10) veya sonraki sürümler:
sudo apt-get install qemu-kvm libvirt-daemon-system libvirt-clients bridge-utils
Lucid (10.04) veya sonraki sürümler:
sudo apt-get install qemu-kvm libvirt-bin ubuntu-vm-builder bridge-utils
Karmic (9.10) veya önceki sürümler:
sudo aptitude install kvm libvirt-bin ubuntu-vm-builder bridge-utils
Intel HAXM'yi Kaldırma Kılavuzu
Intel, HAXM'in geliştirilmesini durdurduğu için HAXM bir süredir (01/2023) kullanımdan kaldırılmıştır.
Android Emulator, 36.2.x.x sürümünden itibaren HAXM'yi kullanmayacak. Daha önce HAXM'yi kullanıyorsanız yeni bir hipervizör sürücüsü yüklemeniz gerekecek. Microsoft'un Windows Hypervisor Platform'unu (WHPX) kullanmanızı öneririz.
HAXM'ye bağlı başka bir yazılımınız yoksa ve Intel HAXM'yi saklayıp kendiniz yönetmeyi tercih etmiyorsanız Intel HAXM'yi Windows sisteminizden tamamen kaldırmanız önerilir.
Intel HAXM'yi kaldırmak için aşağıdaki adımları uygulayın:
Intel HAXM'nin yüklü olup olmadığını kontrol etme
Intel HAXM'nin Windows sisteminizde yüklü olup olmadığını belirlemek için bir Windows komut konsolu açın ve aşağıdaki komutu çalıştırın:
sc query intelhaxm
Intel HAXM yüklü ve çalışıyorsa komut çıkışında aşağıdaki mesajı görürsünüz.
Intel HAXM yüklü ancak devre dışıysa komut çıkışında aşağıdaki mesajı görürsünüz.
Her iki durumda da Intel HAXM çalışıyor veya devre dışı bırakılmış olsa bile yüklenir. Intel HAXM'yi kaldırmaya devam etmek için sonraki adıma geçmeniz gerekir.
Intel HAXM yüklü değilse aşağıdaki mesajı görürsünüz.
Android Studio'daki SDK yöneticisini kullanarak Intel HAXM'yi kaldırma
Geçmişte HAXM'yi SDK Yöneticisi ile yüklediyseniz modül, "SDK Araçları" sekmesinde listelenmeye devam eder.
Android Studio'dan SDK yöneticisini açın, "SDK Tools" (SDK Araçları) sekmesine gidin ve "Intel x86 Emulator Accelerator (HAXM installer) - Deprecated" (Intel x86 Emulator Accelerator (HAXM yükleyici) - Kullanımdan kaldırıldı) satırına gidin. Aşağıdaki ekran görüntüsüne benzer olmalıdır.
Aşağıdaki ekran görüntüsünde gösterildiği gibi onay kutusunun işaretini kaldırın.
"Uygula" düğmesini tıkladığınızda aşağıdaki iletişim kutusu açılır.
Intel HAXM başarıyla kaldırıldığında aşağıdakileri görürsünüz.
Kaldırma işlemi tamamlandı. Burada durabilirsiniz.
Hata varsa sonraki adıma geçin.
Windows "ayarlarını" kullanarak Intel HAXM'yi kaldırın.
Windows "ayarlar"ını açın ve "Uygulamalar > Yüklü uygulamalar"a gidin.
"Intel Hardware Accelerated Execution Manager" girişini bulun ve aşağıdaki ekran görüntüsünde gösterildiği gibi "Uninstall" (Yüklemeyi kaldır) seçeneğini tıklayın.
Intel HAXM kaldırıcı çalıştırılmalı ve sonuç raporlanmalıdır. Kaldırma işlemi başarılı olursa Intel HAXM yükleyici paketini silme bölümüne gidin. Aksi takdirde sonraki adıma geçin.
Komut satırını kullanarak kaldırma
"sc stop intelhaxm" komutunu çalıştırarak Intel HAXM hizmetini durdurun. Aşağıdaki çıkışı görmeniz gerekir.
"sc delete intelhaxm" komutunu çalıştırarak Intel HAXM hizmetini silin. Aşağıdaki çıkışı görmeniz gerekir.
Intel HAXM yükleyici paketini silme başlıklı makaleye gidin.
Intel HAXM yükleyici paketini silin.
Bu adım yalnızca Intel HAXM'yi Windows "ayarlarını" veya komut satırını kullanarak kaldırdığınızda gereklidir. Bu adım olmadan Android Studio'nun SDK yöneticisi, Intel HAXM'yi "Yüklendi" olarak listelemeye devam edebilir.
Yükleyici paketi<Your Android SDK folder>\extras\intel konumunda bulunur.
Android SDK varsayılan olarak "C:\Users\<Your Windows User ID
>\AppData\Local\Android\Sdk" konumuna yüklenir. Aşağıdaki ekran görüntüsünde örneği inceleyin.