Android Emülatör, Android Studio'ya dahildir.
25.3.0'dan önceki emülatör sürümleri Android SDK Araçları'nın bir parçası olarak dağıtılmıştır.
En son sürüme sahip olduğunuzdan emin olmak için güncellemeler için SDK Yöneticisi'ni kontrol edin.
Android Emülatör'ün önceki sürümlerini indirmek için Emulator indirme arşivine bakın.
25.3.0 öncesi Emülatör sürümlerinin sürüm notları için Android SDK Araçları sürüm notlarına bakın.
Bilinen sorunlar ve sorun giderme bilgileri için lütfen Emülatör Sorunlarını Giderme bölümüne bakın.
32.1.15 (29 Ağustos 2023)
Android Studio Giraffe Yama 1 ve Kirpi Canary 16 ile test edilmiştir.
- AAE Emülatör'deki Sensörler için GAS HW şartlarına uyma
- [Hata Düzeltme] Sorun 266201208 API 33'te İbranice SMS gönderilmedi
- [Hata Düzeltme] Sorun 257097404 Emülatör, API 29 ve 30'da uyandıktan sonra doğru zamanı göstermiyor
- [Hata Düzeltme] Sorun 228201899 Android Emulator Genişletilmiş Denetimler'de Google Haritalar'ı göremiyorum
32.1.14 (27 Haziran 2023)
Android Studio Hedgehog Canary 8, Giraffe Beta 5 ve Flamingo Stabil ile test edildi.
- Emülatör kamera yönlerini ve distorsiyonlarını düzeltin.
- [Hata Düzeltme] Sorun 257097404 " Emülatör, ana makine uyandıktan sonra doğru zamanı göstermiyor". Bu hata API 29 ve API 30 için tekrar oluşturulabilir.
- [Hata Düzeltme] Sorun 243456582 "API 30'dan sonraki Android sürümleri, Mac M1 makinelerinde emülatörde doğru şekilde başlatılamayabilir"
32.1.13 (22 Mayıs 2023)
Android Studio Hedgehog Canary 2, Giraffe Beta 1 ve Flamingo Stabil ile test edilmiştir.
- Pixel Fold ve Pixel Tablet AVD için destek ekleyin.
- gLinux kilitlenme sorununu iyileştirin.
- [Hata Düzeltme] Sorun 215231636 "API 30'un üzerindeki API emülatör, Intel 12. nesil işlemcide çalışmıyor".
- [Hata Düzeltme] Sorun 275397905 İmleç odağını emülatörde tekrar tekrar hareket ettirirken Android Emülatör M1'de üst düzey kilitlenme.
- AVD ile ilgili bilinen sorun Sayı 281725854. Daha fazla bilgi için lütfen Emulator Sorun Giderme bölümünü inceleyin.
32.1.12 (21 Mart 2023)
Android Studio Giraffe Canary 10, Flamingo RC ve Electric Eel Patch 2 ile test edilmiştir.
- [Hata Düzeltme] Sorun 267647323 Android Studio'dan başlatılan Emulator'da ağ çalışmıyor
- [Hata Düzeltme] Sorun 268498686 Emülatör ekranı titreyor
- [Hata Düzeltme] Sorun 270034824 33.1.1 sürümüne güncellendikten sonra emülatör performansında düşüş oldu
- [Hata Düzeltme] Sorun 225541819 Chrome x86_64'te emülatörü başlatma
- [Hata Düzeltme] Sorun 257097404 Emülatör, ana makine uyandıktan sonra doğru zamanı göstermiyor
- Apple M1 cihazlar için kilitlenme raporu ekleme
32.1.11 (8 Şubat 2023)
Android Studio Giraffe Canary 2, Flamingo Beta 1 ve Electric Eel Patch 1 ile test edilmiştir.
- Ağ hızı optimizasyonları
- Yerleştirilmiş Emülatörde fare desteği
- Virt-snd geliştirmeleri
- Yükleme sırasında Android Emülatör'ün sıkıştırmasını açarken sembolik bağlantı kullanımını devre dışı bırakın
- Emülatör kontrolündeki kilitlenmeyi düzeltme
31.3.14 (13 Aralık 2022)
Android Studio Dolphin, Electric Eel RC1 ve Flamingo Canary 9 ile test edilmiştir.
- [Hata Düzeltme] Play Store'a giriş yaparken oluşan AVD kilitlenmelerini düzeltin.
31.3.13 (27 Ekim 2022)
Android Studio Dolphin, Electric Eel Beta 2 ve Flamingo Canary 5 ile test edilmiştir.
- [Hata Düzeltme] Sorun 249948338: Saat dilimi parametresi çalışmıyor
- [Hata Düzeltme] Sorun 249366543: Emulator -dns-server seçeneği API 31'den sonra çalışmıyor
31.3.12 (10 Ekim 2022)
Android Studio Dolphin ve Electric Eel Beta 1 ile test edildi.
Bu güncelleme aşağıdaki iyileştirmeleri ve düzeltmeleri içerir:
- [Hata Düzeltme] Sorun 247843000: AVD göreli yol işleme hatası
- API 24 ve sonraki sürümleri için disk boyutunu artırma
31.3.11 (23 Eylül 2022)
Android Studio Yunus ve Elektrikli Yılan Canary 10 ile test edilmiştir.
Bu güncelleme aşağıdaki iyileştirmeleri ve düzeltmeleri içerir:
- [Hata Düzeltme] Genişletilmiş Kontroller Penceresinde yerleşik emülatör AVD kilitlenmesi
- [Hata Hatası] Sorun 183139207: Emülatörün mikrofonu etkinleştirmesiyle ilgili ses sorunları
- [Hata Düzeltme] Sorun 229764024: Kullanıcı arayüzü davranış sorunlarına yol açan AVD yapışkan dokunma hatası
- [Hata Düzeltme] Mac M1'de API 33 AVD başlatılırken hata oluştu.
- [Hata Düzeltme] Sorun 243053479: Emülatörü güncelledikten sonra yavaş ağ hızı
- [Hata Düzeltme] Sorun 244617627: Windows ve Linux'ta Haritalar'ın düzgün çalışmaması
- [Hata Düzeltme] Sorun 232971796: Genişletilmiş Kontroller > Telefon sayfasındaki "cihazı ara" düğmesinin çalışmaması
- Android Emülatör'ü minigbm olarak güncelle
- Derleme komut dosyalarını Python3'e taşıma
31.3.10 (18 Ağustos 2022)
Android Studio Dolphin Beta 5 ve Electric Eel Canary ile test edilmiştir.
Emülatörü artık bağımsız olarak indirebilirsiniz. Bu son kararlı sürümde sorun veya kilitlenme yaşıyorsanız lütfen hata bildiriminde bulunun ve emülatör indirme arşivlerinden önceden çalışan bir sürümü indirin.
Bu güncelleme aşağıdaki iyileştirmeleri ve düzeltmeleri içerir:
- Windows'da daha iyi unicode yol desteği
- Emülatörlerin kullanımdan kaldırılması, bu şekilde aynı AVD'nin yeni lansmanının başarılı olmasıyla daha iyi başa çıktı.
- Katlanabilir AVD tasarımı ve varsayılan ayarları güncellendi
- Güncellenen Wear emülatör düğmeleri
- gRPC ses akışı iyileştirmeleri
- Yeniden boyutlandırılabilir emülatör konsol komutu eklendi
- API 31 için Chrome Düzeltme
- [Hata Düzeltme] Google Hesabı Kimlik Doğrulaması, GmsCore 21.42.18 sürümüyle başarısız oldu
31.2.10 (20 Nisan 2022)
Android Studio Dolphin Canary 8 ve Chipmunk RC 1 ile test edilmiştir.
Bu güncelleme aşağıdaki iyileştirmeleri ve düzeltmeleri içerir:
- Yedeklerle Vulkan işlevlerini yüklemek için yardımcı program ekleyin
- [Hata Düzeltme] gcc8 derleme hatasını düzeltme
31.2.9 (23 Mart 2022)
Android Studio Yunus Canary 7 ile test edildi.
Bu güncelleme aşağıdaki düzeltmeyi içerir:
- [Hata Düzeltme] M1'de anlık görüntüyü kaydederken bellek baskısını dikkate almayın
31.2.8 (7 Şubat 2022)
Android Studio Bumblebee Patch 1 ve Chipmunk Canary 6 ile test edilmiştir.
Bu güncelleme aşağıdaki iyileştirmeleri ve düzeltmeleri içerir:
- [Hata Düzeltme] Uygulamalarda oturum açılamıyor
- [Hata Düzeltme] Sorun 215368358: Intel platformundaki "adb yeniden başlatma", "vcpu kapatma isteği" ile nedeniyle kilitlenecek
31.2.7 (1 Şubat 2022)
Android Studio Bumblebee Patch 1 ve Chipmunk Canary 6 ile test edilmiştir.
Bu güncelleme aşağıdaki düzeltmeyi içerir:
- [Hata düzeltme] M1 makinelerde emülatör askıya alma hatası.
31.2.6 (20 Ocak 2022)
Android Studio Arctic Fox, Bumblebee Beta 4 ve Chipmunk Canary 6 ile test edilmiştir.
Bu güncelleme aşağıdaki iyileştirmeleri ve düzeltmeleri içerir:
- Wear OS emülatörüne Wear düğmeleri eklendi.
- Tüm araç özellikleri VHAL sekmesinde düzenlenebilir hale getirildi.
- [Hata Düzeltme] Google Hesabı Kimlik Doğrulaması, GmsCore 21.42.18 sürümüyle başarısız oldu.
- [Hata Düzeltme] Netshaper, VirtioWifi ile iyi çalışmadı.
- [Hata Düzeltme] Etkinlik fare konsolu komutu çalışmadı.
- Yerel AVD oluşturma için KVM kontrolü eklendi.
31.1.3 (18 Ocak 2022)
Bu güncelleme aşağıdaki iyileştirmeleri ve düzeltmeleri içerir:
- Fuchsia için konsol bağlantı noktaları etkinleştirildi.
- Çoklu ekran penceresini yeniden boyutlandırırken yön yoksayılır.
- Kablosuz: MAT mac adresine göre tekli yayın paketlerini filtreleme desteği eklendi.
- Kablosuz: Sanal makine kullanılırken yaşanan kilitlenme düzeltildi.
30.9.5 (15 Aralık 2021)
Bu güncelleme aşağıdaki iyileştirmeleri ve düzeltmeleri içerir:
- Masaüstü veya tablet boyutundaki bir pencereye kolayca yeniden boyutlandırma özelliği eklendi.
- Uyumlu ana makine cihazlarından çok noktalı giriş için destek eklendi.
- VirtioWifi: Dokunma ağı desteği eklendi.
- Wear Sistem Görüntüleri için Rotasyonlu Giriş etkinleştirildi.
- gRPC ses yapılandırma sorunu düzeltildi.
- SensorReplay Emülatör Oynatma, standart Android sensörlerini destekleyecek şekilde güncellendi.
- Emülatör, USB geçişi olan USB kullanan çevre birimleri ve cihazlara bağlandı.
30.4.5 (23 Şubat 2021)
Bu güncelleme aşağıdaki iyileştirmeleri ve düzeltmeleri içerir:
- macOS: Ses girişi bozulmasıyla ilgili sorunlar düzeltildi.
- Kullanıcı alanında virtio-vsock desteği eklendi.
- Gelecekteki sistem görüntüleri, logcat ve çekirdek mesajları için sanal konsolu kullanır.
- Vulkan oluşturmayı hızlandırın.
- Test hatasında anlık görüntü hata ayıklama desteği eklendi.
- virtio-gpu: en son blob kaynak enum'larını destekleyecek güncellenmiş tanımlar.
- "Asg" türü grafik aktarımları için anlık görüntü desteği eklendi.
- macOS: macOS SDK'sı 11.1 ve sonraki sürümler için derleme desteği eklendi.
- KVMclock daha yeni sistem görüntülerinde varsayılan olarak etkindir.
- Wear emülatörlerine nabız sensörü desteği eklendi.
- Erişilebilirlik özelliği Vulkan arka ucu kaldırıldı.
- Modem simülatöründe daha fazla özellik için destek eklendi.
30.0.26 (16 Ağustos 2020)
Bu güncelleme birkaç yeni özellik, mevcut özelliklerde iyileştirmeler ve hata düzeltmeleri içeriyor.
Sanal menteşe sensörü ve 3D görünümüyle katlanabilir destek
Katlanabilir cihazlar için menteşe sensörleri için destek eklendi. Bunun için, gelecekte Android 11'e ait bir sistem görüntüsü ve AVD yapılandırması gerekir. 3D katlanabilir görünüm ve menteşe parametreleri artık mevcut katlanabilir ön ayarlarla entegre edildi. Aşağıdakiler, örneğin 7.3 katlanabilir AVD'nin
config.inidosyasıyla kullanılabilir:
hw.sensor.hinge = yes hw.sensor.hinge.count = 1 hw.sensor.hinge.type = 1 hw.sensor.hinge.ranges = 180-360 hw.sensor.hinge.defaults = 180 hw.sensor.hinge.areas = 54.7-0 hw.sensor.posture_list=4, 3 hw.sensor.hinge_angles_posture_definitions=210-360, 180-210 hw.sensor.hinge.fold_to_displayRegion.0.1_at_posture=4
Katlanabilir cihazlarda artık bir alt tür parametresi de bulunmaktadır.
config.inimülkü
hw.sensor.hinge.sub_type = hinge/foldkullanıma hazır. Daha fazla bilgi için Android 11 ile Android 11 için geliştirme konulu blog yayınını inceleyin.
Menteşe sensörü artık varsayılan olarak etkindir.
Katlanabilir cihaz yapılandırılırsa emülatör artık menteşe açısı sensörlerini günceller ve misafirlere pozisyon değişikliklerini gönderir. Mevcut katlanabilir cihazlar artık araç çubuğunun katlama veya açma düğmelerine basıldığında menteşe sensörü açısını ve tutumunu güncelleyecek.
ARM64 barındırıcıları için emülatör
Linux emülatörü kaynak kodu, x86_64'ten Arm64 ana makinelerine çapraz derlemeyi destekler. Bu sayede, KVM sanallaştırmasıyla Arm64 sistem görüntülerini çalıştırabilirsiniz. Şu anda yalnızca
-gpu swiftshader_indirect(Swiftshader Arm64 ana makine oluşturma) desteklenmektedir ancak uyumlu bir ana makine GPU libEGL/libGLESv2 kitaplığı da lib64/gles_swiftshader ile değiştirilip
-gpu swiftshader_indirectile yeniden başlatılarak kullanılabilir. Anlık Görüntüler de çalışmayabilir (komut satırına
-no-snapshotekleyin). Talimatlar:
mkdir emu cd emu repo init -u https://android.googlesource.com/platform/manifest -b emu-master-dev --depth=1 repo sync -qcj 12 cd external/qemu pip install absl-py pip install urlfetch sudo apt-get install crossbuild-essential-arm64 python android/build/python/cmake.py --noqtwebengine --noshowprefixforinfo --target linux_aarch64
Apple Silicon desteği devam ediyor.
virtg-gpu desteği
- Yaklaşan virtio-gpu barındırıcısı tutarlı blob kaynakları için destek tarafı eklendi.
- Emülatör oluşturma işleminin işleyiş şekli nedeniyle, vcpu mesaj dizisinde virtio-gpu virtqueue artık işlenmektedir (bununla birlikte, oluşturma işlemi başka ileti dizilerine de yüklenir). virtio-gpu oluşturma işlevi, gelecekteki bir sistem görüntüsünde ve emülatör sürümünde etkinleştirilecektir.
- Gelecekteki bir sistem görüntüsünde emülatör, tüm grafikleri Virgio-Gpu tabanlı bir yığınla yürütebilecektir.
Diğer yeni özellikler ve geliştirmeler
- USB geçişi şu an Windows'da
-qemu -usb -device usb-host,vendorid=<usb-vendor-id>,productid=<usb-product-id>ile kullanılabilir. (Bu, Linux ve macOS'te de önceden çalışılmış olmalıdır)
- WebRTC kitaplıkları M83 sürümüne güncellendi.
- Emülatör artık kapsayıcılar üzerinde WebRTC üzerinden ses akışını destekliyor.
- darwin borusu uç noktası kaldırıldı.
- CUDA VPx kod çözme özelliği,
ANDROID_EMU_MEDIA_DECODER_CUDA_VPX=1ortam değişkeni aracılığıyla donanımda kullanılabiliyorsa CUDA VPx kod çözme özelliği artık video için kullanılabilir.
- SOS 4.1 ve 4.2 artık macOS'te Android misafirin içinden kullanılabilir.
- INOSTSC, macOS'te artık varsayılan olarak etkindir. Bu, misafirin zaman ölçümlerinin doğruluğunu artırabilir.
- Kullanıcı tarafından hangi genişletilmiş kontrol bölmesinin seçildiğini artık metriklerde izliyoruz.
- Linux emülatörü artık konuk çekirdek sürümü >= 5,4 (R sistem görüntüleri veya üstü) olduğunda KVM parazit haline getirilmiş saati kullanıyor.
- Emulator, artık konuk çekirdeklerini açmak ve modern çekirdek hattıyla uyumlu hale getirmek için LZ4'ü kullanıyor.
Emülatör AVD dizinini almak için Studio komutları, Studio tarafından yerleştirilmiş kullanım alanındaki keşif dosyası yolu ve anlık görüntülerin yolu eklendi:
adb emu avd path # Obtains path to AVD directory adb emu avd discoverypath # Obtains path to discovery file adb emu avd snapshotspath # Obtains path to snapshots folder adb emu avd snapshotpath <snapshotName> # Obtains path to the folder that stores the snapshot for the snapshot with name <snapshotName>
Dikey ekran alanından tasarruf etmeyi kolaylaştırmak için Genişletilmiş Denetimler > Ayarlar bölümüne mevcut AVD için cihaz çerçevesini gizleme seçeneği ekledik. Cihaz çerçevelerini tüm AVD'ler için global olarak gizlemek amacıyla
NoDeviceFrameözellik işaretini kullanıma sunduk. Bu özellik, emülatörü
-feature NoDeviceçerçeveyle komut satırından etkinleştirerek veya kilitleyerek
~/.android/advancedFeatures.inikonumuna
NoDeviceFrame = onekleyerek etkinleştirebilir (zaten mevcut değilse bu dosyayı oluşturun).
Sayaç desteğinin açılması ve kapatılması için hücresel sayfaya bir açılır liste eklendi. Bu özellik, 5G ölçümü açma/kapatma düğmesini desteklemeyen eski sistem görüntüleri için bir işlem yapmanıza gerek yoktur.
- Aynı amaçla konsol komutu da eklendi:
gsm meter on|off
- Aynı amaçla konsol komutu da eklendi:
Araç zinciri / C++17'ye yükseltildi.
Düzeltmeler: yerleştirilmiş emülatör
- Pano artık çalışır.
- Büyük harfli karakterlerin emülatörde küçük harfli karakterler olarak sunulmasıyla ilgili sorun düzeltildi.
- Pencerelerdeki unicode yolundan yükleme konsolu jetonu düzeltildi.
- Linux'ta
SO_REUSEPORThata mesajı düzeltildi.
- gRPC aracılığıyla anlık görüntü komutları gönderirken ve Android Studio yerleştirilmiş emülatörde anlık görüntü kaydetme düğmesine basıldığında oluşan anlık görüntü bozulması sorunu düzeltildi.
Studio'ya yerleştirilmiş Linux emülatörünü kullanırken bu işlemin Chrome Uzaktan Masaüstü aracılığıyla yapılması durumunda
XDG_RUNTIME_DIRürününün ayarlanmamış olduğu ve
XDG_RUNTIME_DIRiçinde emülatör keşif dosyaları yerleştirildiği için yerleştirilmiş emülatörün görünmemesine neden olabildiği tespit edildi. Chrome sorunu izleyicide, ilgili sorunun durumunu kontrol edebilirsiniz.
Geçici bir çözüm olarak, emülatör artık keşif dosyalarını kullanıcı UID'sine dayalı, muhtemelen farklı bir dizinde kullanmaya başlamıştır:
/run/user/<uid>.
Yerleşik emülatör: Yuvarlak köşeleri/çentikleri olan cihazlar artık köşelerine ve çeneye yer açmak için düzenini düzgün bir şekilde değiştiriyor. Bunun için o emülatörlerin soğuk başlatılması gerekir.
gRPC uç noktası artık cihaza SMS göndermeyi destekliyor.
Genel düzeltmeler
- Riot VanGuard etkin şekilde Windows emülatörünü kullanırken uyumluluk sorunlarıyla karşılaştık. Windows emülatörü artık VanGuard'ın hile karşıtı olduğunu algılar ve VanGuard'ı tespit ederse bir uyarı mesajı verir.
- Windows'da
FD_SETSIZEhatası düzeltildi. Artık geri dönüş sunucularına engelleme yapmayan bağlantılar kurmak için
select()yerine
WSAEventSelect()kullanıyoruz.
- F16C CPUID özelliği desteği, bazı ARM64 uygulamalarını NDK çevirisi aracılığıyla çalıştıran düzeltmeleri içeren emülatörde Linux emülatörüne eklendi. macOS/Windows işlemi devam ediyor.
- gpx/KML oynatması, zaman damgalarını takip edecek şekilde düzeltildi.
- MacO'lar için lansmanda geri dönen simge düzeltildi.
config.iniiçinde
hw.audioInput=nove
hw.audioOutput=noise emülatör sesi artık uygun şekilde devre dışı bırakılmıştır.
- Genişletilmiş kontrol penceresi açık ancak etkin değilken emülatör penceresinin simge durumuna küçültülmesi durumunda, emülatör penceresi yeniden boyutlandırılırken genişletilmiş kontroller penceresinin gösterilmeye devam etmesi sorunu düzeltildi. Bu davranışı (etkin genişletilmiş kontrol aralığıyla birlikte) gelecekteki bir güncellemede tamamen kaldıracağız.
- Emülatör başlatıldığında kablosuz ağa bağlanmamış kesintili hata düzeltildi.
- Emülatör, uzun veya süresiz kabuk komutlarıyla kabuk komutları yayınladığında çıkışta askıda kalma sorunu düzeltildi.
- pc-bios'lar
-initrdbölümüne iletilen büyük resimleri daha iyi destekleyecek şekilde düzeltildi. Önceki BIOS'da verimsiz bir yöntem kullanılıyordu.
-wifi-server-portseçeneği kullanıldığında, sonlandırma sırasında yaşanan kilitlenme düzeltildi.
- Desteklenmeyen seçenekler
-prophizmetine aktarılırsa emülatör artık bir uyarı yazdırır (Yalnızca qemu.* donanımı desteklenir).
- Windows'da emülatör oluştururken derleme hatası içeren dosyalara yazma olasılığı daha düşük olacaktır. Daha fazla bilgi için Windows derleme talimatlarına bakın.
- Katlanabilir AVD'ler için Zum düğmesi devre dışı bırakıldı ve bu durum sorunlara neden oluyor.
- Emülatör artık cihaz yeniden başlatma sırasındaki başlatma süresini doğru şekilde bildiriyor.
- Linux: Yetersiz KVM izinleri olduğunda emülatör artık hata ayıklama talimatlarını daha hızlı yazdırır.
- Emülatörün hızlandırılmayan son sistem görüntülerini başlatamaması sorunu düzeltildi.
- Başlatma sırasında tamamlanan bir algılayıcıdan kaynaklanan bellek bozulması veya kilitlenme düzeltildi.
- Uzun ekran kaydetme oturumları sırasında bellek sızıntısı düzeltildi.
- Emülatör simgeleri, Studio 4.1 markasını yansıtacak şekilde güncellendi.
- Windows'da uzaktan oturumları tespit etmek için daha iyi destek eklendi.
Düzeltmeler: Grafik ve video kodu çözme
- En son Asphalt 9 oyununun siyah ekranla gösterilmesine neden olan sorun düzeltildi.
- Eşlenen arabelleği
NULLile boşaltmayla ilgili spam kaldırıldı.
- Bir konuk Vulkan uygulamasından çıktığında Vulkan durumunu bozurken ortaya çıkan bir yarış koşulu düzeltildi.
- Vulkan ASTC/ETC2 emülasyon gölgelendiricileri artık libOpenglRender kitaplığına yerleştiriliyor. Bu yöntem, dosya sisteminden okunanlara kıyasla daha güvenilir olacaktır.
- Vulkan'da, ana makinede bir Vulkan 1.0 örneğiyle çalışıyorsa
vkGetImageMemoryRequirements2KHRöğesinin, döndürülen
VkMemoryRequirements2yapısının
pNextalanını yanlış bir şekilde temizlemesine neden olan sorun düzeltildi.
- Vulkan oluşturucudaki bellek sızıntısı düzeltildi.
- Kısa süre önce,
isampler2Dgibi değişken adlarına sahip GLSL ES 1.00 gölgelendiricilerin derlenememesi sorunu düzeltildi.
- ANGLE gölgelendirici çevirmeni, Linux'ta gölgelendiricileri derleme işleminin başarısız olması durumunu ele alan çeşitli düzeltmelerle güncellendi.
- Bu fenomen izin vermek amacıyla şimdi temel çerçeve arabelleğiyle yanıp sönen gölgelendirici derlenemezse emülatörü kilitleriz.
- ANGLE gölgelendirici çevirmeni yukarı akış ANGLE'a ayak uyduracak şekilde güncellendi. Bu, kare olmayan matrislerin kullanıldığı OpenGL ES gölgelendiricilerini çevirirken ve sürekli olarak kaydırırken bellek bozulmasıyla ilgili bir sorunu düzeltti. Gölge çevirmeni artık
libshadertranslator.dlladlı ayrı bir paylaşılan kitaplık.
- Belirli GPU 1.1 cihaz işlevlerinin bulunmadığı bazı GPU sürücülerinde Vulkan başlatma işlemiyle ilgili bir sorun düzeltildi.
- Vulkan: Vulkan yükleyicinin bazı kurulumlarda sorunlara neden olduğu sistemi desteklemek için önceden oluşturulmuş yükleyiciyi kullanmaya geri döndük. Daha iyi bir çözüm bulunacak.
- Ana makinede uyumsuz bellek türü dizinlerine içe aktarılmış olabilecek Vulkan harici bellek kullanılırken karşılaşılan sorun düzeltildi.
- Enum'un ana makinede desteklenmediği
GL_ALIASED_POINT_SIZE_RANGEemülasyonuyla ilgili sorun düzeltildi.
GL_EXT_shader_framebuffer_fetchile ilgili hatalar nedeniyle bazı ana makine GPU'larında Skia gölgelendiricilerinin derleme yapamaması sorunu düzeltildi.
- D3D9 ANGLE oluşturucunun kopyası birkaç sürüm önce kaldırılmış olduğundan, artık oluşturucuda bulunan kullanıcıları kullanıcı arayüzü tercihlerinde seçilmişse d3d11 ANGLE'e otomatik olarak geçiririz.
- Hataların izlenmesi için Windows'da WGL'nin başlatılmasına daha fazla hata ayıklama bilgisi eklendi.
hw.gltransport=virtio-gpu-pipeolduğunda performans, ana makineden davetliye aktarım sırasında ana makinede döndürülmeyerek iyileştirilir.
- OpenGLES emülasyonu başlatılamadığında daha fazla hata ayıklama günlüğü eklendi.
- YouTube videolarının anlık görüntü yüklenirken titremesi veya görünmemesiyle ilgili bir sorun düzeltildi.
- libvpx donanım kod çözme işlemiyle ilgili sorunlar gördüğümüzden şimdilik libvpx için yazılım kod çözme yöntemine geri dönüldü. Ana makine tarafında desteklenen bir CUDA donanım kod çözme uygulaması varsa libvpx donanım kod çözme işlemi
ANDROID_EMU_MEDIA_DECODER_CUDA_VPX=1adlı ortam değişkeniyle yeniden etkinleştirilebilir.
30.0.10 (30 Nisan 2020)
Bu güncelleme, emülatörü doğrudan Android Studio'da ve varsayılan olarak Serbest Biçimli Pencere Modu'nun etkin olduğu sanal cihazlarda çalıştırma desteği içerir.
Emülatör'ü Android Studio'da çalıştırma
Android Emülatör artık Android Studio'da doğrudan çalıştırılabilir. Ekran alanından tasarruf etmek, kısayol tuşlarını kullanarak emülatör ve düzenleyici penceresi arasında hızlı bir şekilde gezinmek ve IDE ile emülatör iş akışınızı tek bir uygulama penceresinde düzenlemek için bu özelliği kullanın.
Serbest Pencere Modu
Artık Android Studio'da sanal cihaz oluştururken 13,5 inç Freeform tablet donanım profilini seçerek Serbest Biçimli Pencere Modu'nun etkin olduğu bir AVD oluşturabilirsiniz. Bu donanım profili için Android 11 Developer Preview 3 veya sonraki bir sürüme sahip bir sistem görüntüsü gerekir.
Bilinen sorunlar
Serbest biçimli pencereleri yeniden boyutlandırma, odağın Pencere Yöneticisi'ne aktarılmasıyla ilgili sorunlar nedeniyle şu anda bozuktur. Bu sorun, gelecekteki bir Android 11 sistem görüntüsü sürümünde giderilecektir.
30.0.0 (19 Şubat 2020)
Bu güncelleme, Android 11 (API düzeyi 30) sistem görüntülerini ve ARM ikili programlarını çalıştırırken performansı artırır.
Android 11 sistem görüntüleri
Artık mevcut API düzeyi 30 sistem görüntülerinden birini seçerek Android 11 çalıştıran bir AVD oluşturabilirsiniz:
- x86: Hem x86 hem de ARMv7 ABI'ları içerir.
- x86_64: x86, x86_64, ARMv7 ve ARM64 ABI'ları içerir.
Android 9 ve 11 sistem görüntülerinde ARM ikili programları desteği
Uygulamanız ARM ikili programlarına bağlı olduğundan daha önce Android Emülatör'ü kullanamıyorsanız artık uygulamanızı çalıştırmak için Android 9 x 88 sistem görüntüsünü veya herhangi bir Android 11 sistem görüntüsünü kullanabilirsiniz. ARM ikili programlarını çalıştırmak için artık belirli bir sistem görüntüsünü indirmeniz gerekmez. Bu Android 9 ve Android 11 sistem görüntüleri, varsayılan olarak ARM'yi destekler ve tam ARM emülasyonuna sahip olanlara kıyasla önemli ölçüde iyileştirilmiş performans sağlar.
Bilinen sorunlar
- Bazı ARMv7 ikili programları, Android 11 x86 ve x86_64 sistem görüntülerinde çalıştırılamaz. Android 11'i hedeflerken ARM64 için uygulama geliştirebilirsiniz.
29.0.11 (29 Mayıs 2019)
Bu güncelleme aşağıdaki iyileştirmeleri ve düzeltmeleri içerir:
- Windows: Emülatör artık
libgccile statik olarak derlenmek yerine, gönderdiğimiz
libgccDLL'yi temel alıyor.
- Linux: gRPC API'ye logcat desteği eklendi. gRPC hakkında daha fazla bilgi için gRPC akış emülatörü (Linux) bölümüne bakın.
- Emülatör artık 32 bit x86 misafirler için gözetimsiz derleme (
qemu-system-i386) içeriyor. Bu özellik, 26 ve önceki API seviyeleri için x86 32 bit görüntüleri gözetimsiz derleme ile çalıştırabilme olanağı sağlar. API 27 ve sonraki sürümlere sahip 32 bit x86 konuklar için, emülatörde 64 bit motor (
qemu-system-x86_64) kullanıldığından, bu sistem görüntülerinde kullanıcı alanı 32 bitken çekirdek 64 bittir. Android Studio, emülasyon motorlarını seçmek için çekirdek kullanır.
- Artık
ANDROID_QT_LIB_PATHortam değişkenini kullanarak özel Qt kitaplığı yolları belirtebilirsiniz.
- Artık QEMU1 yürütülebilir dosyaları (
emulator[64]-[x86|arm|etc]) emülatör dizinine yerleştirilmişse emülatörü, QEMU1 kullanan önceki ikili programlarla çalıştırabilirsiniz.
- Windows: Bazen emülatörün "vCPU kapatma isteği" mesajıyla başlamasına neden olmayan bir sorun düzeltildi.
- Vulkan'da emüle edilen sıkıştırılmış dokularda gereksiz bir ardışık düzen engeliyle ilgili sorun düzeltildi.
- Parçalı aktarım kodlaması kullanıldığında http proxy isteklerinde oluşan bir hata düzeltildi. Daha fazla bilgi için taahhüt ayrıntılarına bakın.
29.0.9 (7 Mayıs 2019)
Bu güncelleme aşağıdaki düzeltmeyi içerir:
- Windows: Sanal sahne kamerası ile web kamerasının emülatörde çalışmaması sorunu düzeltildi.
29.0.8 (6 Mayıs 2019)
Bu güncelleme aşağıdaki iyileştirmeleri ve düzeltmeleri içerir:
- Her bir ekranı numaralandırmak ve ayarlamak için bir konuk hizmeti olduğunda birden fazla sanal donanım ekranı için destek eklendi. Birden çok sanal donanım ekranı, gelecekteki bir emülatör sistem görüntüsü güncellemesine dahil edilecek.
- Yeni bir komut satırı seçeneği eklendi:
-delay-adbBu seçenek, misafirin başlatma işlemini tamamlayana kadar (soğuk başlatma olmadan) ADB paketlerinin işlenmesini engeller. Bu seçenek, emülatörü emülatörü yeniden başlatan ve aynı zamanda DDMS'yi kullanan bir CI ortamında kullanırsanız oluşabilecek sorunların çözülmesine yardımcı olur.
- Anlık görüntülerin yüklendiği sırada oluşan ve
glIsRenderbufferişlevinin yanlış değer döndürmesine neden olan bir hata düzeltildi.
- Android misafiri yeniden başlatılırken eski durumla ilgili bazı sorunlar düzeltildi.
- Windows: Windows kullanıcı adında ASCII olmayan karakterler veya boşluklar olduğunda emülatörün başlamasını engelleyen sorunlar düzeltildi.
Bilinen sorunlar
- Anlık görüntü kullanıcı arayüzü, bu sistem görüntüleri için şu anda anlık görüntü desteklenmediğinden anlık görüntüler kullanıcı arayüzü devre dışı bırakılmıştır.
29.0.6 (1 Mayıs 2019)
Bu güncelleme birkaç yeni özellik, mevcut özelliklerde iyileştirmeler ve hata düzeltmeleri içeriyor.
QEMU1 ve 32 bit Windows desteğinin kaldırılması
Emülatörün daha iyi korunması için QEMU1 ve 32 bit Windows ikili programlarını artık göndermiyoruz. Windows 32 bit sürümünü kullanıyorsanız 29.0.6 sürümüne yükseltemezsiniz.
Android Q sistem resimleri için gereksinimler
Android Q sistem görüntüsü kullanan bir AVD çalıştırmak isterseniz artık 29.0.6 (bu sürüm sürümü) veya sonraki bir sürümü kullanmanız gerekir.
Proje Mermer İyileştirmeleri
Bu güncelleme, Kasım 2018'de Android Geliştirici Zirvesi'nde duyurulan Project Marble girişimiyle ilgili çalışmalarımıza devam etmektedir. Önceki sürümlerdeki diğer proje mermer iyileştirmeleri hakkında daha fazla bilgi edinmek için Android Emülatör: Proje Mermer İyileştirmeleri bölümüne bakın.
Bu güncellemede, Project Marble çalışmalarımızın çoğu, boştayken emülatörün CPU kullanımını azaltmak gibi emülatör kaynak kullanımını azaltmaya odaklanıyordu. Ayrıca çok çeşitli ortamlarda emülatörle çalışmayı kolaylaştıran değişiklikler yaptık ve genel kalite sorunlarını ele aldık.
Aşağıdaki bölümlerde, bu güncellemeye dahil edilen Project Marble iyileştirmeleri açıklanmaktadır:
Ana makine ses davranışında iyileştirmeler
28.0.3 sürümünden itibaren emülatör varsayılan olarak ana makineden ses girişini engeller.
Ana makine ses verilerini kullanmak istiyorsanız Genişletilmiş Denetimler > Mikrofon'a gidip Sanal mikrofon, ana makine ses girişini kullanır seçeneğini etkinleştirerek bu seçeneği etkinleştirebilirsiniz. Emülatör yeniden başlatıldığında bu seçenek otomatik olarak devre dışı bırakılır.
Komut satırını kullanıyorsanız
-allow-host-audio seçeneğini kullanarak ana makine sesini de etkinleştirebilirsiniz. Ayrıca, aşağıdaki ADB komutlarından yararlanarak sırasıyla ana makine ses verilerini açıp kapatabilirsiniz:
adb emu avd hostmicon
adb emu avd hostmicoff
Gözetimsiz emülatör derlemeleri için iyileştirmeler
28.0.25 sürümünden itibaren emülatörde, kullanıcı arayüzü olmadan çalışabilen kafasız bir derleme seçeneği bulunuyor. Docker ve sürekli entegrasyon (CI) iş akışları için emülatör kurulumuna yardımcı olmak üzere gözetimsiz derlemelerden yararlanabilirsiniz.
Bu güncellemeyle birlikte, emülatörün minimum sayıda bağımlıyla çalışmasına izin verecek şekilde iyileştirmeler yaptık. Linux'ta gözetimsiz derlemeler artık
pulseaudio veya
libX11 kitaplıklarını içermez. Emülatörle paketlenmemiş, sisteme bağlı olarak paylaşılan kitaplıklar aşağıdaki listeye düşürüldü:
Linux-vdso.so.1
Libutil.so.1
Libm.so.6
Libdl.so.2
Librt.so.1
Libpthread.so.0
Libgcc_s.so.1
Libc.so.6
ld-linux-x86-64.so.2
Qt kullanıcı arayüzü kitaplıkları, 5.12 LTS sürümüne yükseltildi
Bu güncelleme, Qt 5.12 LTS sürümünden aşağıdaki iyileştirmeleri içermektedir:
- Emulator, belirli sistem görüntülerini başlatırken Qt'un
libpngkod çözme işleminde kilitlenmeleri önlemek için artık PNG resimlerinin kodunu çözmek üzere kendi
libpngkopyasını kullanır.
- Qt'e bağlı bazı kitaplıkların uyumsuz sürümlerini içeren bazı Linux yüklemeleriyle ilgili sorunları ele almak için artık
libfreetype,
libsoftokn,
libsqlite3ve
libxkbcommon'yi emülatör ile paketliyoruz.
- Emülatör, artık güvenilir olmayan sonuçlar döndüren Qt kitaplıklarını kullanmak yerine monitör boyutlarını almak için platformun yerel pencere kitaplıklarını kullanıyor.
Baştan başlatmadan sonra otomatik CPU optimizasyonları
Emülatör, CPU kullanımını ele almak için artık
boot complete sinyali aldıktan sonra soğuk başlatma sırasında aşağıdaki ADB komutlarını çalıştırır:
adb shell settings put screen_off_timeout 214783647
- Bu komut, emülatörün şarj olmadan pil modunda kullanılabilmesi için ekran kapatma zaman aşımını artırır. Pil modunda arka plan CPU kullanımı önemli ölçüde azalır.
- AC şarj modunda uygulama güncellemeleri gibi GMSCore arka plan işlemleri herhangi bir uyarı olmadan cihazın tüm CPU çekirdeklerini ve dolayısıyla kullanıcının makinesini ele geçirebilir.
adb shell pm revoke com.google.android.googlequicksearchbox android.permission.RECORD_AUDIO
- Bu komut, Google arama uygulaması etkin durumdayken ana ekranda ve başlatıcıda arka plan CPU kullanımını önemli ölçüde azaltan Google arama uygulaması için mikrofon izinlerini iptal eder.
- Bu komut, emülatörde varsayılan ana makine seslerini devre dışı bırakma davranışına ek olarak çalıştırılır. Ayrıca bu, 28.0.23 sürümünden özel kelime algılama için açıklanan CPU kullanımı azaltmasını otomatik olarak sağlar.
Performans izleme için yeni ortam değişkenleri
Emülatörün performans ve kaynak kullanımını ayrıntılı olarak izlemek için artık iki yeni ortam değişkeni kullanabilirsiniz.
SHOW_PERF_STATS=1
- Bu ortam değişkeni, hem CPU hem de RAM kullanımının izlenmesini sağlar. RAM kullanımı için izleme, grafik kullanımı ile toplam yerleşik bellek arasında ayrım yapar.
ANDROID_EMU_TRACING=1
- Bu ortam değişkeni, bir giriş veya grafik işlemi uzun sürdüğünde (1 ms.den uzun) her yazdırma işlemini etkinleştirir.
- Bu ortam değişkenini, Windows kullanıcılarının macOS veya Linux'ta çok daha fazla olumsuzlukla (bırakılmış kareler) yaşadığı sorunları teşhis etmek için de kullanıyoruz.
Project Marble'daki genel iyileştirmeler
Bu güncelleme, Project Mermer girişimi kapsamındaki aşağıdaki genel iyileştirmeleri de içerir:
- Artık emülatördeki tüm vCPU'ları aşağıdaki konsol komutları aracılığıyla hemen duraklatabilirsiniz:
adb emu avd pause
adb emu avd resume
-
- OpenGL çiziminin ek yükü önemli ölçüde azalır. Emülatör animasyonları oynatırken bu iyileştirme, CPU kullanımını azaltır.
- Ana hat QEMU'nun e1000 sanal ağ cihazı için destek geri yüklendi. Bu cihazı kullanarak köprü bağlantılı bir ağ ortamında emülatör kurabilirsiniz. Köprü oluşturulmuş bir ağ ortamında emülatör ana makine ağında, ana makine ağı ise emülatörde gösterilir.
- Emülatörü başlatmak için QEMU 2.12'ye uygun BIOS ikili programları artık kullanılmaktadır.
- Video kodlaması ve kodu çözme için
ffmpegsürümü 3.4.5 sürümüne yükseltildi.
- macOS'te QEMU ana döngüsü G/Ç'nin ek yükü önemli ölçüde azaltıldı ve
select()tabanlı ana döngü,
kqueuetabanlı ana döngüyle değiştirildi.
- Logcat'i emülatörle çalıştırırken beklenmeyen beklenmedik EOF sorunlarını gidermek için logcat arabellek boyutu 2 MB'a yükseltilmiştir.
- Emülatör artık varsayılan olarak
LC_ALL=Cortam değişkenini dışa aktarıyor. Bu değişiklik, emülatörün farklı yerel ayarlarda çalıştırılmasıyla ilişkili çökme ve uyumsuzluk sorunlarını ele alır.
- Artık Genişletilmiş Kontroller > Ayarlar > Gelişmiş > Performans İstatistikleri'nden erişebileceğiniz performans istatistiklerini kullanarak emülatörün CPU ve RAM kullanımını izleyebilirsiniz. Emülatörde çok fazla CPU veya RAM kullanılıyorsa sorunları hızla teşhis etmek için bu istatistikleri kullanın.
glReadPixels GL_IMPLEMENTATION_COLOR_READ_TYPEartık emülatör yerine bir ana makine GPU'nun sonucunu kullanıyor. Bu değişiklik, resimlerin ve öğelerin uygun olmayan geri okuma biçimi nedeniyle gösterilmemesiyle ilgili sorunları düzeltmeye yardımcı olur.
GL_EXT_texture_format_BGRA8888ve
GL_APPLE_texture_format_BGRA8888OpenGL ES uzantıları ana makine tarafından destekleniyorsa destek eklendi.
- Hata raporu kullanıcı arayüzüne daha fazla teşhis bilgisi eklendi. Ayrıca, aşağıdaki komutları kullanarak hata raporlarına konsoldan erişebilirsiniz:
telnet localhost 5554
avd bugreport
-
- Android Q sistem görüntülerinde, emülatör minimum RAM boyutunu 2 GB'a çıkarır.
- OpenGL veya hipervizör ilk kullanıma hazırlanamadığında daha fazla günlük kaydı ve yazdırma işlemi eklendi.
- Emülatör, eşzamanlı olarak bir AVD
-read-onlyörneği başlatamazsa
-read-onlydüzenleyicisini 3 saniye içinde 3 kez daha yeniden başlatmayı dener. Bu değişiklik, bu AVD'nin diğer yazılabilir örnekleri eski dosyaları temizlemeyi tamamlamazsa emülatörün aynı anda
-read-onlyAVD başlatabilme olasılığını artırır.
- Emülatör artık kullanıma sunulacak sistem görüntüleri için Hardware Composer 2.0'ı desteklemektedir. Bu değişiklik, çoğu animasyonu çalıştırırken sürücü ek yükünü azaltır.
- Emülatör derlemesi artık CMake/Ninja tabanlıdır.
- Emülatör genişletilmiş kontroller kullanıcı arayüzünde, klavye kısayolları tablosundaki ayırıcı satırlar geri yüklendi.
- Kullanıcılar artık ekibimize CPU ve RAM kullanım metriklerini 10 saniyelik aralıklarla sağlamayı seçebilir. Bu metrikleri, emülatör kaynak kullanımı ile ilgili verilerimizi kullanıcılarımızdan farklı kullanım alanlarıyla zenginleştirmek için kullanırız. Böylece, emülatörü daha verimli ve duyarlı hale getiririz.
Project Marble'daki genel düzeltmeler
Bu güncelleme, Project Mermer girişiminin bir parçası olan aşağıdaki genel düzeltmeleri de içerir:
- Android Q sistem resimleri kullanılırken Intel GPU'lu sistemlerde görüntülenen seğirme ve yanlış karelerle ilgili sorunlar düzeltildi.
- Pixel 2 XL dış görünümlü Android Q sistem görüntüleri (veya çentikli ya da yuvarlak köşeli ciltler) kullanıldığında siyah ekran görüntülenme sorunu düzeltildi.
-partition-sizekomut satırı seçeneğinin, veri bölümü boyutunu ayarlayamamasına neden olan sorun düzeltildi.
- Linx emülatöründeki pulseaudio dönmesi ve bazı durumlarda CPU çekirdeğinin tamamını kaplaması sorunu düzeltildi.
- Sıkıştırılmış dokular işlenirken bant dışı bellek erişimiyle ilgili sorunlar düzeltildi.
- Belirli grafik arabellekleri güncellenirken (RGB 565, RGB10A2, RGB(A)16F biçiminde)
glTexSubImage2Dana makinesinde oluşan GL hataları düzeltildi.
- Bildirim gölgesinin geometrisinin uygun olmayan örnek bölen ayarıyla oluşturulmuş anlık görüntüleriyle Android Q sistem görüntülerindeki görüntü sorunu düzeltildi.
- Qt kaybedilen sinyaller veya başlatma sırasında güvenilir olmayan, tutarsız durumlar nedeniyle, yeniden üretilmesi zor birkaç kilitlenme ve donma sorunu düzeltildi.
- Çok sayıda eşzamanlılık sorunu düzeltildi. Artık Linux emülatörünü ThreadSanitizer (TSAN) ile oluşturabiliyoruz. Bu da yeniden oluşturulması zor olan hataları kolayca ortaya çıkarabiliyor.
- Linux kullanıcıları için: Belirli ana makine çekirdeklerinde, konuk Android çekirdeklerinin genel bir donanım hatasıyla KVM'de hata verip çıkış yapabildiğini belirledik. Bu uygulamada, hata ayıklamanın artırılması için emülatörde
abort()kullanılır (emülatör daha önce askıya alınmıştı).
- Linux kullanıcıları için: CI kurulumlarında kolaylık sağlamak amacıyla yeni
-stdouterr-file <file-name>komut satırı seçeneğini kullanarak hem
stdouthem de
stderröğesini bir dosyaya yönlendirebilirsiniz.
SO_REUSEADDRuzantısının hatalı kullanılmasına neden olan sorun düzeltildi. Daha fazla bilgi için taahhüt ayrıntılarına bakın.
- Kullanıcı adında boşluk varsa ADB komutları gibi alt işlemlerin başlatılamaması nedeniyle Windows emülatöründe uzun süredir devam eden sorun düzeltildi.
- HAXM vCPU iş parçacıklarında RCU'nun başlatılmasıyla ilgili bir sorun düzeltildi. Bu düzeltmeyle ilgili bazı kilitlenmeler ve yarış koşulları ele alınabilir.
- Son Android Q sistem resimleri kullanılarak anlık görüntüler kullanıcı arayüzünden anlık görüntü kaydetme ve yükleme kalıplarıyla yaşanan bir kilitlenme düzeltildi.
- Bir anlık görüntü kaydedildiğinde AR makrosu oynatılıyorsa emülatör başlatıldığında anlık görüntüden alınan sanal sahne kamerasının boş olmasına neden olan bir sorun düzeltildi.
- Uzaktan masaüstü kurulumuna sahip bazı kullanıcıların Linux'ta emülatörü başlatırken siyah ekran görmelerine neden olan bir sorun düzeltildi. Bu durumu önlemek için emülatör artık
MESA_RGB_VISUALözelliğini açıkça yapılandırmaktadır. Daha fazla bilgi için taahhüt ayrıntılarına bakın.
- Rotasyon düğmelerinin TV AVD'lerinde görünmesine neden olan bir sorun düzeltildi.
- Emülatör her zaman en üstte olacak şekilde ayarlanmışsa, emülatörün her rotasyonunda genişletilmiş kontrol penceresinin görünmesiyle ilgili sorun düzeltildi.
Katlanabilir cihazlar için donanım profilleri
Emülatör artık katlanabilir cihazlar için donanım profilleri içeriyor. Bu yeni donanım profillerini kullanmak için Android Studio 3.5 Canary 10 veya daha yeni bir sürüm kullanıyor olmanız gerekir.
AVD oluşturmak için kullanabileceğiniz iki katlanabilir donanım profili vardır:
- 7,3 inç Katlanabilir: 1536x2152 katlanmış, 4,6 inç 840x1960 katlanmış
- 8" Katlanabilir: 2200x2480 katlanmış, 6,6 inç 1480x2480 katlanmış
Emülatörü bu donanım profillerinden birini kullanarak çalıştırdığınızda, emülatör araç çubuğundaki klavye komutlarını veya klavye komutlarını ya da aşağıdaki klavye kısayollarını kullanarak cihazı katlayabilir ve açabilirsiniz:
- Kat:
Ctrl + F(macOS'te
Command + F)
- Aç:
Ctrl + U(macOS'te
Command + U)
Artırılmış gerçeklik (AR) makroları
Emülatör artık AR işlemlerini test etmenize yardımcı olabilecek AR makroları içeriyor. Örneğin, cihazın tüm sensörlerini varsayılan durumuna sıfırlamak için bir makro kullanabilirsiniz.
Daha fazla bilgi için Yaygın AR işlemlerini makrolarla test etme başlıklı makaleyi inceleyin.
Vulkan desteği (Windows, Linux)
Windows ve Linux kullanıcıları artık uyumlu bir sistem görüntüsü (Vulkan 1.1 için Android Q Beta 3 veya üzeri, Vulkan 1.0 için Android Q Beta 2) ve uyumlu bir ana makine GPU'su (2014 ve sonrasında alınan çoğu Intel, NVIDIA ve AMD GPU'ları içerir) kullanırken Vulkan uygulamalarını Android Emulator ile test edebilir.
Vulkan desteğini etkinleştirmek için
~/.android/advancedFeatures.ini dosyanıza aşağıdaki özellik işaretlerini eklemeniz gerekir (mevcut değilse dosyayı oluşturun):
Vulkan = on
GLDirectMem = on
ROM geliştiricileri için ilk destek
AOSP
master dalında
sdk_phone_x86 veya
sdk_phone_x86_64 (
userdebug,
eng varyant) hedefleri oluşturan ROM geliştiricileri artık Vulkan özellikli bir emülatör çalıştırabilir.
Bu destek, deneyseldir ve özellikle sistem görüntüleri, sürücüler ve oyun motorları üzerinde çalışan geliştiriciler için geçerlidir. Birçok uzantı hâlâ eksik.
Ancak
HOST_COHERENT belleği desteklenmektedir. Artık Vulkan API Eğitim Örneklerini çalıştırabilirsiniz.
Linux kullanıyorsanız aşağıdaki komutları kullanarak bunu deneyebilirsiniz:
mkdir aosp-master
cd aosp-master
repo init -u https://android.googlesource.com/platform/manifest -b master --depth=1
repo sync -c -j12
. build/envsetup.sh
lunch sdk_phone_x86_64-userdebug
make -j12
emulator -no-snapshot -feature Vulkan,GLDirectMem
Vulkan ile Skia oluşturma
Vulkan'ı destekleyen NVIDIA ve AMD GPU'lar,
GL_EXT_memory_objects uzantısıyla OpenGL ile sıfır kopya birlikte çalışabilirliğini de destekler. Emülatör, Skia Vulkan API'lerini kullanarak Android kullanıcı arayüzü oluşturmak için eksiksiz bir yöntem sunmak amacıyla bu olanaktan yararlanıyor.
Vulkan'ı destekleyen bir NVIDIA veya AMD GPU'nuz varsa uyumlu bir sistem görüntüsüyle (Android Q Beta 3 ve sonraki sürümler) Skia oluşturmayı test etmek için aşağıdaki komutları kullanın:
adb shell
su
setprop debug.hwui.renderer skiavk
stop
start
Vulkan için macOS desteği
macOS desteği hâlâ deneyseldir ancak emülatörde zaten Swiftshader, MoltenVK ve serbestlik (gfx-rs) API'leri bulunmaktadır. Aşağıdaki ortam değişkenlerini ayarlayarak bu API'lerle denemeler yapabilirsiniz:
- Swiftshader:
ANDROID_EMU_VK_ICD=swiftshader
- MoltenVK:
ANDROID_EMU_VK_ICD=moltenvk
- taşınabilirlik:
ANDROID_EMU_VK_ICD=portability
Bilinen sorunlar
HAXM bazen Vulkan'ın uyumlu belleğini konukla eşleyemez ve emülatörü kapatır. Bu sorun, yakında gerçekleştirilecek HAXM güncellemesinde ele alınmaktadır.
gRPC akış emülatörü (Linux)
En geniş koşu bağlamı aralığında ana makine GPU oluşturma ve etkileşime izin vererek emülatörü mümkün olduğunca çok yönlü hale getirmeye çalışıyoruz. CI ve uzak masaüstü kullanıcılarımız aşağıda belirtilen uzun süredir devam eden sorunlar yaşıyor:
- Giriş komutlarının programatik olarak emülatöre gönderilmesi, yüksek ek yüke sahip olabilen adb kabuk komutlarının çalıştırılmasını veya daha hızlı olan ancak belirli ağ yapılandırmalarıyla çalışmayabilecek telnet konsolunun kullanılmasını içerir.
- CI kullanıcıları genellikle emülatörleri gözetimsiz olarak çalıştırır. Bu da, ekranın görünür veya etkileşimli olmasını gerektiren sorunları fark etmeyi zorlaştırabilir.
- GPU oluşturma işlemi genellikle ana makinenin sanal olmayan ekranlarına bağlı olduğundan ana masaüstü GPU oluşturma kullanırken uzaktan masaüstü kullanıcıları emülatörle etkileşimde bulunamaz.
Bu sorunu çözmek için Linux makinesinde çalışan emülatör artık bir gRPC hizmeti sunmaktadır. gRPC , RPC için HTTP üzerinden çalışan genel bir çerçevedir.
Varsayılan olarak emülatör gRPC hizmeti devre dışıdır ancak aşağıdaki komut satırı seçeneğini kullanarak hizmeti etkinleştirebilirsiniz. Burada
<port>, emülatörün gRPC isteklerini sunması gereken bağlantı noktasıdır (genellikle
5556):
-grpc <port>
Hizmet başlatıldıktan sonra istemcilerden gRPC komutları yayınlanabilir. Mevcut komut grubu, hem giriş etkinliklerinin gönderilmesine hem de ekran görüntülerinin alınmasına izin verir. Bu komutlar aşağıdaki sorunları çözmeye yardımcı olur:
- Giriş komutları, HTTP üzerinden düşük ek yükü olan emülatöre gönderilebilir. HTTP, komutların ek ağ yapılandırmalarında gönderilmesini de sağlar.
- Emülatör gözetimsiz çalışıyor olsa bile geçerli ekranı sorgulamak için ekran görüntüsü komutları gönderilebilir. Etkileşim için, giriş etkinlikleri de emülatöre geri gönderilebilir.
- Uzaktan masaüstü kullanıcıları, emülatörle etkileşimde bulunmak amacıyla ekran görüntülerini almak ve giriş etkinliklerini göndermek için gRPC'yi kullanarak ana emülatörü ana ekranda gözetimsiz olarak çalıştırabilir.
Kullanabileceğiniz komutların tam listesi için bu protobuf'a bakın.
gRPC'yi kullanmaya başlamanıza yardımcı olmak için bazı örnek istemcilerden yararlanabilirsiniz.
Şu an için aşağıdakiler buna dahildir:
- Emülatör durumlarını sorgulamak için kullanılabilecek Go tabanlı bir hizmet.
- Ekran görüntüleri ve giriş UPS'leri aracılığıyla uzaktan etkileşim gösteren bir React uygulaması. Bu örnek, protobuf sürüm 3.7.0 veya üstü gerektirir.
- Emülatörün sanal makine yapılandırmasını sorgulayan ve daha sonra bir dizi komut gönderen bir Python örneği.
28.0.25 (29 Mart 2019)
Bu güncelleme aşağıdaki iyileştirmeleri ve düzeltmeleri içerir:
Gözetimsiz emülatör yapısı
Sistemin, paylaşılan kitaplık bağımlılıklarıyla birlikte Qt'yi destekleyebilmesi (diğer sorunların yanı sıra) dolaylı yönündeki beklentisi nedeniyle, emülatörde Docker ve diğer sürekli entegrasyon (CI) iş akışlarıyla kurulum yapmak zordu.
Bu sorunu ele almak için attığımız ilk adım olarak, QemU yürütülebilir dosyasıyla Qt'ye bağlı olmayan bir emülatör başlatıcı varyantı oluşturduk. Linux'ta
libX11 bağlantısı hâlâ mevcut olsa da bunları yakın zamanda kaldırmayı umuyoruz.
Gözetimsiz emülatörü kullanmak için komut emülatörünü normal şekilde komut satırından çalıştırın ancak emülatör ikili programını
emulator-headless ile değiştirin. Daha fazla bilgi için 28.1.8 Canary sürüm güncellemesine bakın.
- Android Q sistem görüntülerini çalıştırırken Intel GPU'larındaki seğirme ve yanlış kare görüntüleme sorunu düzeltildi.
- Pixel 2 XL dış görünümlü Android Q sistem görüntüleri kullanılırken siyah ekranın görüntülenmesiyle ilgili sorunlar düzeltildi.
- Emülatörü başlatmak için en yeni BIOS ikili programları artık kullanılıyor. Bu değişiklik, bazen Windows'da emülatör başlatılırken ortaya çıkan "vCPU kapatma isteği" hatalarının azaltılmasına yardımcı olabilir.
- "Anlık görüntüden Android Q sistem resimleri devam ettirilirken yanlış ekran sorunu sorunu düzeltildi.
- Kullanıcılar, platform araçları 28.0.2'deki ADB'de uyumsuz bir değişiklik nedeniyle "yetkisiz" emülatör sorunları yaşıyordu. Platform araçları 28.0.2'deki ADB'yi artık emülatörle güvenli bir şekilde kullanabilirsiniz. "Yetkisiz" emülatörlerle ilgili sorun yaşıyorsanız aşağıdaki sorun giderme adımlarını uygulayın:
- Tüm emülatörlerden çıkın.
- Hem
~/.android/adbkeyhem de
~/.android/adbkey.pubdosyasını silin.
- Şu komutu çalıştırın:
adb kill-server
- Şu komutu çalıştırın:
adb devices
- AVD verilerini temizleyin.
- Emülatörü yeniden başlatın.
28.0.23 (29 Ocak 2019)
Bu güncelleme aşağıdaki iyileştirmeleri ve düzeltmeleri içerir:
Ana makine ses girişi varsayılan olarak devre dışı
Kısa süre önce Reddit'te yayınlanan bir yayında, konuk Android OS'nin ana makine mikrofonunun sesini her zaman nasıl kullanacağı ve böylece "Ok Google"ın beklenmedik bir şekilde çalışmasını nasıl sağlayacağı hakkında ayrıntılı bilgi verildi. Bunun için üzgünüz ve Android resmiyle birlikte çalışarak özel kelime algılamanın da sistem görüntüsünde devre dışı bırakıldığından emin olacağız.
Bu sorunu çözmek için aşağıdaki değişiklikleri yaptık:
- Gerçek ana makine ses verileri artık varsayılan olarak sıkıştırılır. Misafir mikrofonu kullandığında, ana makinenin sesi yerine sessizlik iletilir.
- Ana makine ses verilerini kullanmak istiyorsanız artık Genişletilmiş Kontroller > Mikrofon'a gidip Sanal mikrofon, ana makine ses girişini kullanır seçeneğini etkinleştirerek bu seçeneği etkinleştirebilirsiniz. Emülatör yeniden başlatıldığında bu seçenek otomatik olarak devre dışı bırakılır.
CPU kullanım incelemeleriyle ilgili güncellemeler
Project Marble araştırmalarımız sırasında, emülatörde yüksek CPU kullanımının genellikle aşağıdaki üç kategoriye girdiğini fark ettik:
Boştayken: Play Store resimlerinde otomatik uygulama güncellemeleri
Kullanıcı giriş yapmasa bile, yüklenen tüm uygulamaların rastgele aralıklarla güncellendiğini tespit ettik. İşlem sırasında CPU kullanımı, GMSCore ve dex2oat'taki çekirdek sayısına x %100 (genellikle ~%400) göre belirlenir. Play Store uygulamasında otomatik uygulama güncellemelerini devre dışı bırakarak bu sorunu en aza indirebilirsiniz.
Boştayken: Özel kelime algılama
Ana ekranda ve herhangi bir uygulama ön planda değilken CPU kullanımı büyük oranda yükselebilir (yaklaşık% 25'lik artışlarla %50'ye kadar). Bu durum, ana makineye sürekli pinglenen özel kelime algılamasından kaynaklanır. CPU maliyeti, ana makineden konuka gitmek için geçen süreden kaynaklandığı için ana makine ses girişini devre dışı bırakarak bu sorunu gideremezsiniz. Ancak Google uygulamasından mikrofon izinlerini iptal ederek bu sorunu en aza indirebilirsiniz.
Etkin durumdayken, bazen boşta: Animasyonlar
Yüksek CPU kullanımının üçüncü kaynağı animasyonlardır. Grafik sürücüsü yığınını optimize ederek emülatör boşta kalmadığında bile CPU kullanımını azaltabileceğini tespit ettik. Project Marble'ın bir parçası olarak grafik sürücüsü optimizasyonlarını aşamalı olarak kullanıma sunacağız.
28.0.22 (21 Aralık 2018)
Bu güncelleme aşağıdaki iyileştirmeleri ve düzeltmeleri içerir:
- Bazı ayarlarda Mac emülatörünün Quickboot'a kaydedildiğinde yeniden başlatılmasına veya paniklemesine neden olan uzun süreli bir sorun düzeltildi. (Sorun 120951634)
- Emülatör, eşlenmiş bir dosyayı RAM anlık görüntüsü olarak kullanırken artık çıkışta dosya eşlemesinin eşlemesini açıkça kaldırır.
28.0.20 (11 Aralık 2018)
Bu güncelleme aşağıdaki iyileştirmeleri ve düzeltmeleri içerir:
- Windows'da, belirli Intel GPU modelleriyle anlık görüntü yüklendiğinde emülatörün donmasına neden olan bir sorun düzeltildi.
- Standart olmayan bir
ANDROID_SDK_HOMEkonumu kullanılırken
unauthorizedADB cihaz durumuna neden olan bir sorun düzeltildi.
- Windows'da, CPU hızlandırması devre dışıyken sistem emülatörünün kilitlenmesine neden olan bir sorun düzeltildi.
- Pikselleştirilmiş emülatör görüntüleme sorunu düzeltildi. Aşağı örnekleme artık çalışıyor olmalıdır.
- macOS 10.14 ve sonraki sürümlerde, yeni erişilebilirlik güvenliği ayarlarıyla olan bir etkileşim nedeniyle sanal sahne kamerası fare görünümü kontrolünün çok hassas hale gelmesi sorunu düzeltildi.
- Emülatör saatinin düzensiz bir şekilde değişmesine neden olabilen saat dilimi hesaplamasındaki bir hata düzeltildi.
- Çeşitli cocos2d ve Unreal motor uygulamalarındaki oluşturma hataları düzeltildi.
- Kablosuz eşler arası için emülatörde destek eklendi.
En son Piie Play Store resmini kullanan iki emülatör artık kablosuz ağ üzerinden doğrudan konuşabilir. Kablosuz eşler arası özelliği kullanmak için aynı
-wifi-server-portve
-wifi-client-portbağımsız değişkenleriyle iki AVD başlatın:
emulator @<server-avd-name> -wifi-server-port 9999
emulator @<client-avd-name>-wifi-client-port 9999
-
- Uyumsuz çerçeve boyutlarını alıp Android misafirindeki kamera ayarına uyacak şekilde dinamik olarak yeniden boyutlandırarak Windows'da daha fazla web kamerası için destek eklendi.
28.0.16 (Kasım 2018)
Bu güncelleme birkaç yeni özellik, mevcut özelliklerde iyileştirmeler ve hata düzeltmeleri içeriyor.
Kaynak kullanımı
Emülatör artık özellikle API düzeyi 28 veya üstünü içeren sistem görüntüleri kullanılırken genel olarak daha az RAM kullanıyor. Bu sistem görüntüleri, konuk tarafı grafik sürücüleri için iyileştirilmiş bellek kullanımını içerir.
Ayrıca, aşağıdaki alanlarda kaynak kullanımını iyileştirdik:
- Uzun süreli testler sırasında azaltılmış emülatör bellek kullanımı. Uzun süreli testler sırasında bellek kullanımıyla ilgili sorun yaşamaya devam ederseniz lütfen kullanım durumunuzu açıklayan sorunu Sorun İzleyici'de oluşturun.
- Animasyon içeren uygulamalar çalıştırılırken CPU kullanımı azaltılır.
- QEMU AIO bağlamının Windows'da sızdırılmasına neden olan sorun düzeltildi.
Tek bir AVD'nin birden fazla örneğini eşzamanlı olarak çalıştırma
Artık aynı AVD'nin birden fazla örneğini başlatıp aynı anda çalıştırabilirsiniz. İlk örnekten sonra başlattığınız örnekler salt okunurdur ve konuk sanal diskinde yaptıkları değişiklikler çıkışta silinir.
Aynı AVD'nin aynı anda birden fazla örneğini çalıştırmak için
-read-only işaretini kullanarak komut satırından ilk örnekten sonraki örnekleri başlatın.
Bu özellik, Android görüntüsünün yazılabilir parçalarıyla ilişkilendirilmiş QCOW2 dosyalarının kopyalanmasıyla mümkün olmaktadır. Disk alanını yönetmenize yardımcı olmak amacıyla, birden çok örneği başlatmadan önce QCOW2 dosyalarını önceden taahhüt etmenize olanak tanımak için
qemu-img komut satırı aracını gruplandırdık.
Buna ek olarak, Dosya destekli konuk RAM anlık görüntüleri özelliğiyle birlikte kullanıldığında birden fazla AVD örneği, üzerine yazılacak konuk RAM'inin ortak kaynağı olarak birincil AVD Quickboot anlık görüntüsünü paylaşır. Bu özellik, örneklerin ortak RAM'lerinin büyük bir kısmını paylaştığı anlamına gelir. Paralel olarak birden fazla cihaz gerektiren testleri çalıştırmak için bu özelliği kullanın.
Normal etkileşimli veya CI iş akışınızın olası kullanım alanlarıyla ilgili geri bildiriminiz için teşekkür ederiz. Lütfen Issue Tracker'da sorun oluşturun veya sorunları oylamaya başlayın.
Dosya destekli misafir RAM anlık görüntüleri
Emülatör, konuk RAM'i dosya olarak önceden ayırıp eşleyerek artık tüm çalışmanızı çıkış sırasında yapmak yerine Quickboot anlık görüntülerini kaydedebilir. Şu anda emülatörlerinizi kapatırken uzun zaman tasarrufu yaşıyorsanız Quickboot performansınızı iyileştirmek için bu özelliği etkinleştirin. Varsayılan olarak, Quickboot anlık görüntüsü, çıkışta kaydedilir ve gerçek bir cihazı askıya alma ve uyandırma gibi her seferinde tekrar yüklenir.
Android konuk RAM'i artık varsayılan olarak otomatik olarak kaydedildiğinden, bir cihaz durumu tanımlamak ve bu durumdan tekrar tekrar yükleme yapmak isterseniz her oturumdan sonra emülatöre değişiklikleri silmesini söylemeniz gerekir. Bunu aşağıdaki şekillerde yapabilirsiniz:
- Emülatörü komut satırından başlatırken
-no-snapshot-saveveya
-read-onlyişaretlerini kullanın.
- Genişletilmiş Denetimler > Anlık Görüntüler > Ayarlar bölümüne gidin ve Mevcut durum Quickboot'a otomatik olarak kaydedilsin mi? değerini Hayır olarak değiştirin.
- Bu seçeneği belirledikten sonra emülatörü yeniden başlatmanız gerekir. Emülatör otomatik kayıt olarak ayarlanmışsa bir kontrol noktası ayarlamak için aşağıdaki komutu çalıştırabilirsiniz:
adb emu avd snapshot remap 0Bu komutu çalıştırdıktan sonra, emülatör Quickboot anlık görüntüsü bu kontrol noktasında kalır. Emülatörü kontrol noktanızdan yüklemek için aynı komutu tekrar çalıştırın.
Daha önce olduğu gibi, anlık görüntüler kullanıcı arayüzü aracılığıyla alınan ve yüklenen anlık görüntüler, dosya eşleme olmadan.
Bu, Quickboot'un çalışma şekliyle ilgili büyük bir değişiklik olduğundan, Quickboot performansının iyileştirilip iyileştirilmediği ve kullanım sırasında karşılaştığınız sorun türleriyle ilgili geri bildiriminiz için teşekkür ederiz. Sorun yaşarsanız
~/.android/advancedFeatures.ini dosyanıza aşağıdaki satırı ekleyerek bu özelliği devre dışı bırakabilirsiniz:
QuickbootFileBacked = off
Emülatörü bir anlık görüntüden başlattığınızda (
-snapshot komut satırı seçeneğini kullanarak veya AVD yöneticisinde bir anlık görüntüden başlayarak), emülatör hem Quickboot anlık görüntüleri için otomatik kaydetmeyi hem de çıkışta Quickboot anlık görüntülerini kaydetmeyi devre dışı bırakır. Bu, Quickboot anlık görüntüsünün istemeden üzerine yazılması olasılığını azaltır ve dosya destekli Quickboot anlık görüntülerini kullanmayan yavaş yedek yollardan kaçınır.
QEMU 2.12
QEMU'nun QEMU 2.9'dan QEMU 2.12'ye yükseltilmesini sağladık. Bu güncelleme aşağıdaki QEMU değişikliklerini içerir:
- https://wiki.qemu.org/ChangeLog/2.10
- https://wiki.qemu.org/ChangeLog/2.11
- https://wiki.qemu.org/ChangeLog/2.12
Android Emülatör'ü etkileyen önemli değişikliklerden bazıları aşağıda belirtilmiştir:
- x86:
gdbstubartık SSE kayıtlarına erişim sağlıyor.
- Disk görüntüleri: Resim kilitleme varsayılan olarak eklenir ve etkinleştirilir. Ana makine, OFD'yi veya eş zamanlı öğe kilitlemeyi desteklediği sürece, aksi belirtilmedikçe birden fazla QEMU işlemi aynı görüntüye yazamaz.
qemu-img: qemu-img resize, resmin yeni bölümlerinin önceden ayrılmasını destekler.
- QCOW2 küçültme işlemi artık
qemuve
qemu-imguygulamalarında destekleniyor.
Erişilebilirlik
- Ekran okuyucularla ilgili sorunlar düzeltildi ve Ekran Kaydı ile Anlık Görüntü kullanıcı arayüzünde bu araçlar için daha iyi destek sağlandı.
- Hızlı Başlatma bildirim simgeleri, renk körleri için daha erişilebilir hale geldi.
Grafik
- OpenGL ES köşe dizisi işaretçileri için oluşabilecek sınırların dışında bellek erişimi sorunu düzeltildi.
- Bazı eski GPU'lar OpenGL 2.1 veya üstünü desteklemiyordu (gereklidir) veya başka güvenilirlik sorunları yaşıyordu. Bu sorunlar, emülatörün başlamasına, donmasına veya varsayılan GPU ayarında kullanılamaz hale gelmesine neden olabilir. Emülatör artık bu GPU'ların kullanıldığını algılarsa Swiftshader oluşturucuya otomatik olarak geçiş yapar.
eglSwapBufferssırasında
FBO != 0bağlanmışsa emülatörün doğru çerçeve arabelleğini yayınlamamasına neden olan sorun düzeltildi.
- Sanal Android ekranının yalnızca sol üst köşede görünmesiyle ilgili sorun düzeltildi. Bunun, yanlış yapılandırılmış Qt ortamı değişkenlerinden kaynaklandığını düşünüyoruz. Emülatör artık Qt ölçeklendirmeyle ilgili tüm ortam değişkenlerini geçersiz kılıyor.
- Snapes'in anlık görüntüden yüklenirken bazı durumlarda emülatörün kilitlenmesine neden olan sorun düzeltildi.
- OpenGL'deki eşzamanlılık sorunları düzeltildi ve çift serbest kullanım veya bozuk verilere yol açabilecek oluşturma ileti dizileri başlatıldı.
- Android Emulator, API düzeyi 28 veya üstünü kullanan sistem görüntüleri için artık ASTC LDR sıkıştırılmış doku desteğini (
GL_KHR_texture_compression_astc_ldr) desteklemektedir.
- Artık çoğu modern GPU,
GLESDynamicVersionözellik işaretini kullanmadan varsayılan olarak OpenGL ES 3.x etkinken emülatörü çalıştırabilmelidir.
-gpu guest(misafirde yazılım oluşturma) kullanımdan kaldırıldı. API 28 veya sonraki seviyeler için sistem görüntüleri artık otomatik olarak Swiftshader'ı (
-gpu swiftshader_indirect) kullanmaya geçiyor.
- Emülatör,
-no-windowişareti kullanılarak komut satırından başlatılırsa varsayılan oluşturucu artık Swiftshader olur.
Konum
- Emülatör artık enlem ve boylam konumuyla birlikte konumu güncelleyebilir. Manyetometre sanal sensörü, bir GPX veya KML dosyasını oynatırken hareketi tahmin ederek kendisini dinamik bir şekilde kuzeye göre ayarlar.
- Cihaz hızı artık Konum sayfasından ayarlanabilir.
- Bir GPX veya KML dosyasını oynatırken hız otomatik olarak ayarlanır ve oynatma sona erdiğinde sıfıra ayarlanır.
- Rakım ayarı artık -1.000 ile +10.000 metre arasında değildir.
- Genişletilmiş Denetimler penceresi en az bir kez açılmadıkça sanal GPS konumunun düzenli olarak güncellenmemesine neden olan sorun düzeltildi.
Kamera
Emülatör, web kamerasından gönderilen kamera karelerini dinamik olarak yeniden boyutlandırdığından Windows'da artık daha fazla web kamerası destekleniyor. Bu özellik, kare teslimindeki hataların emülatörün askıya alınmasına da neden olmasını önler.
Play Store
Play Store resimlerindeki disk alanı tükenmesiyle ilgili sorunları çözmek için emülatör artık yeni bir Play Store AVD ile çalışırken kullanıcı verisi bölümünü otomatik olarak 6 GB olarak yeniden boyutlandırıyor.
Genel kalite iyileştirmeleri ve düzeltmeleri
- Bazı kullanıcılar, emülatörün yavaş çalıştığını bildirdi. Emülatörün geçici dizininin içinde çok fazla eski dosya olmasına yol açabilecek olası bir neden tespit ettik. Geçici bir çözüm olarak, emülatör ADB yayın kontrol dosyalarını artık bu dizinde depolamaz. Bununla birlikte, bu klasörün içeriğini silmeniz de yardımcı olabilir. Klasör, işletim sisteminize bağlı olarak aşağıdaki konumlardan birinde bulunur:
- Windows:
C:\Users\<username>\AppData\Local\Temp\AndroidEmulator\*
- macOS veya Linux:
/tmp/android-<username>/*
- Windows:
- Yetersiz boş RAM nedeniyle emülatör başlatılamazsa bir hata mesajı gösterilir. Windows kullanıyorsanız ve RAM'in boş olduğunu fark etmenize rağmen emülatörü hâlâ başlatamıyorsanız taahhüt ücreti aşılmış olabilir. Bu sorunla ilgili yardım almak için emülatör sorun giderme sayfasını inceleyin.
-sysdirkomut satırı seçeneği, tahmin edilen sistem resim dizinini artık uygun bir şekilde geçersiz kılıyor.
- Sanal mode artık model etkinliği bilgileri
+MAIsorgusunu destekliyor.
- Bellek sızıntıları, bellek bozulması ve CPU kullanımıyla ilgili çeşitli sorunlar düzeltildi. Kilitlenmeler, bellek sızıntıları veya başka yüksek kaynak kullanımlarıyla karşılaşırsanız lütfen Sorun İzleyici'de sorun oluşturun.
- macOS 10.14'te emülatörle Bluetooth mikrofonlu kulaklık kullanımının dünya genelinde ses kalitesini düşürmesine neden olan bir sorun düzeltildi. Bu durumu önlemek için emülatör artık macOS'te çalışırken Bluetooth ses kullanmaktan kaçınmaktadır. (Sorun 37070892)
- Windows'da emülatör saatinin doğru saat diliminde olmamasına neden olan bir sorun düzeltildi.
- Dönen sabit diskler (HDD'ler) içeren Linux sistemlerinde emülatör yavaşlığı ve askıda kalma sorunu düzeltildi.
- macOS'te yığın bozulmasına neden olabilecek bazı derleme uyarıları düzeltildi.
- Yanıltıcı askıya alma raporlarına yol açabilecek sorunlar düzeltildi.
- İleti dizilerinden biri başarıyla oluşturulmazsa kilitlenmeye neden olabilecek ileti dizisi havuzlarını kaldırmayla ilgili sorun düzeltildi.
- macOS'te, zamanlayıcıların güvenilir olmamasına, kilitlenmelere ve diğer garip davranışlara neden olan bir sorun düzeltildi. Emülatörler macOS'te takılı kalıyorsa lütfen Issue Tracker'da sorun oluşturun.
- Emülatörün kapatılmasının kullanıcı arayüzünü devre dışı bırakmasına rağmen gerçekte emülatörü kapatmaması sorunu düzeltildi.
- Çok fazla
/dev/urandomörneği açma nedeniyle iptal edilmesi de dahil olmak üzere düzensiz kilitlenmeler ile ilgili sorunlar düzeltildi.
- ADB zorla kapatıldıysa emülatörün ilk seferden sonra başlatılamamasına neden olan bir sorun düzeltildi.
- MIPS derlemesi kaldırıldı. Hâlâ MIPS'e ihtiyacınız varsa lütfen Issue Tracker'da sorun oluşturun.
- Anlık görüntü yüklendiğinde ADB bağlantılarının bozulmasına neden olan bir sorun düzeltildi.
- Emülatör penceresinin, cihaz yönünün AVD'nin varsayılan yönünden farklı olduğu bir anlık görüntüyü devam ettirirken sonraki görüntüye veya ışınlanma görüntüsüne sahip olmamasıyla ilgili sorun düzeltildi.
- Anlık görüntüler kaydedilirken kilitlenmelerle ilgili sorunlar düzeltildi.
- Emülatör anlık görüntüleri otomatik olarak kaydettiği ve sanal disk cihazları için yazma üzerine yaz komutunu kullandığı için Linux'ta btrfs dosya sistemleri aşırı yavaşlamaya neden olabilir.
~/.android/avddizinini temizlemenizi ve boş
~/.android/avddizininde aşağıdaki komutu çalıştırmanızı öneririz:
chattr +CBu seçenek, üzerine yazma özelliğinin devre dışı bırakıldığı bir klasörde yeni anlık görüntüler oluşturur.
HAXM 7.3.2
Son sistem resimlerinin emülatörde düzgün şekilde çalışması için yüklenmesi gerektiğinden HAXM 7.3.2'den tekrar bahsetmek istiyoruz. HAXM 7.3.2, Mevcut ürün kanalında da bulunmalıdır ve https://github.com/intel/haxm/releases adresinden manuel olarak da yüklenebilir.
HAXM'nin bu sürümünde çözülen sorunlardan bazıları şunlardır:
- Son Linux çekirdeği (>= 4,6) kullanan konuk işletim sistemlerinin rastgele kilitlenmeleri düzeltildi. Örneğin, Ubuntu 18.04 (#39, #74).
- Ana makine kilitlenmesine neden olabilecek bir x86 talimat emülatörü hatası düzeltildi (#93).
32 bit Windows'un kullanımdan kaldırılması
Kullanım oranının düşük ve bakım maliyetlerinin yüksek olması nedeniyle, Windows'da çalışan Android Emülatör'ün 32 bit sürümünü kullanımdan kaldırmayı planlıyoruz. Android Emülatör'ün 32 bit sürümünün kaldırılması ve kullanımdan kaldırılmasından önce bir geçiş planı sunacağız. Bununla birlikte, gelecekte yapacağımız bu değişiklikle ilgili aktif olarak geri bildirimlerinizi veya endişelerinizi arıyoruz.
Şu anda Windows'da çalışan Android Emülatör'ün 32 bit sürümünü kullanıyorsanız lütfen Sorun İzleyici'de bize bildirin ve bundan sonra size en iyi şekilde nasıl yardımcı olabileceğimize dair bilgi verin.
27.3.10 (Ağustos 2018)
Bu güncelleme aşağıdaki hata düzeltmesini içerir:
RAM boyutu yapılandırma düzeltme
Bazı kullanıcılar, emülatörün yavaş çalıştığını bildirdi. AVD'nin
config.ini dosyasındaki AVD RAM boyutunun yanlış ayarlanmasının olası bir nedenini tespit ettik.
Emülatör, riski azaltmak amacıyla API düzeyi 26 veya üstünü kullanan görüntüler için minimum RAM düzeyini Android Studio'nun varsayılan 1.536 MB seviyesine yükseltir. AVD'nizin
config.ini dosyası
hw.ramSize megabayt cinsinden listelenmiyorsa lütfen Issue Tracker'da sorun oluşturun.
config.ini dosyasını şu konumda bulabilirsiniz:
~/.android/avd/<avdname>.avd/config.ini
27.3.9 (Temmuz 2018)
Bu güncelleme aşağıdaki iyileştirmeleri ve hata düzeltmelerini içerir:
Windows Hipervizör Platformu için iyileştirilmiş hata mesajları
Bazı kullanıcılar, Windows Hipervizör Platformu'nun (WHPX) bir WHPX emülatörünü etkinleştirdiklerinde başlatılamadığını teşhis etmekte zorlanıyordu. Bu sorunları teşhis etmenize yardımcı olmak için daha bilgilendirici hata mesajları ekledik. Bu hata mesajlarını,
-verbose işaretini kullanarak komut satırından emülatörü çalıştırarak etkinleştirebilirsiniz.
Genel düzeltmeler
- Kamera uygulamasında anlık görüntü yüklenirken ortaya çıkan OpenGL hataları düzeltildi.
27.3.8 (Temmuz 2018)
Bu güncelleme birkaç yeni özellik, mevcut özelliklerde iyileştirmeler ve hata düzeltmeleri içeriyor.
Anlık Görüntüler
Artık belirli bir cihaz yapılandırması için birden fazla AVD anlık görüntüsü kaydedebilir ve emülatörü başlatırken kaydedilen anlık görüntülerden hangisinin yükleneceğini seçebilirsiniz.
Android Studio 3.2 Canary 13 sürümünden itibaren, her cihaz yapılandırması Sanal Cihaz Yapılandırması iletişim kutusundaki gelişmiş ayarlarda bulunan ve AVD'yi başlatırken hangi AVD anlık görüntüsünün yükleneceğini belirtebileceğiniz bir kontrol içerir.
Anlık görüntü özelliklerinin bu şekilde genişletilmesini sağlamak için Genişletilmiş kontroller iletişim kutusuna bir Anlık görüntü kategorisi ekledik. Bu yeni bölme, AVD anlık görüntülerinin kaydedilmesi ve yüklenmesiyle ilgili kontrolleri içerir. Bu kontroller arasında, daha önce Ayarlar bölmesinde bulunan hızlı başlatma anlık görüntüsünü kaydetme ve yükleme kontrolleri bulunur.
Kaydedilen her anlık görüntünün adını ve açıklamasını düzenleyebilirsiniz.
Ayrıntılar için Anlık Görüntüler bölümünü inceleyin.
HAXM 7.2.0
HAXM 7.2.0 artık tüm kanallarda kullanılabilir.
Bu güncelleme, hata düzeltmeleri ve büyük miktarda RAM için iyileştirilmiş destek içerir. Ayrıca bu HAXM güncellemesi ve Emulator 27.3 ve sonraki sürümleriyle anlık görüntüler, sanal cihaz başladığında anlık görüntünün tamamını yüklemek yerine içeriklerini isteğe bağlı olarak RAM'e yükler. Bu değişiklik, anlık görüntünün yüklenmesi için gereken süreyi önemli ölçüde kısaltacaktır.
Ayrıntılı bilgi için Sanal makine hızlandırmayı yapılandırma başlıklı makaleyi inceleyin.
27.2.9 (Mayıs 2018)
Bu güncelleme birkaç yeni özellik, mevcut özelliklerde iyileştirmeler ve hata düzeltmeleri içeriyor.
Ekran kaydı
Artık Android Emülatör'den video ve ses kaydedebilir, kaydı bir WebM veya animasyonlu GIF dosyasına kaydedebilirsiniz.
Ekran kaydı kontrolleri, Genişletilmiş Denetimler penceresinin Ekran kaydı sekmesinde bulunur.
İpucu: Control + Üst Karakter + R (Mac'te Command + Üst Karakter + R) tuşlarına basarak ekran kaydı kontrollerini de açabilirsiniz.
Ekran kaydını başlatmak için Ekran kaydı sekmesindeki Kaydı başlat düğmesini tıklayın. Kaydı durdurmak için Kaydı durdur'u tıklayın.
Kaydedilen videoyu oynatma ve kaydetme denetimleri, Ekran kaydı sekmesinin alt kısmındadır. Videoyu kaydetmek için sekmenin alt kısmındaki menüden WebM veya GIF'i seçin ve Kaydet'i tıklayın.
Ayrıca, komut satırında aşağıdaki komutu kullanarak emülatörden bir ekran kaydı kaydedebilirsiniz:
adb emu screenrecord start --time-limit 10 [path to save video]/sample_video.webm
Ekran görüntüleri
Aşağıdaki komutlardan birini kullanarak komut satırından ekran görüntüleri alabilirsiniz:
screenrecord screenshot [destination-directory]
adb emu screenrecord screenshot [destination-directory]
Ekran görüntüleri PNG biçiminde kaydedilir.
Sanal sahne kamerası ve ARCore
Artırılmış gerçeklik uygulamalarını (AR) ARCore ile geliştirip test etmek, yeni sanal sahne kamerasıyla artık çok daha kolay. Bu özellik, artırılmış gerçeklik (AR) deneyiminizi sanal bir ortamda denemenize olanak tanıyor.
Sanal sahne kamerasını emülatörde kullanma hakkında bilgi için Android emülatöründe AR uygulamalarını çalıştırma bölümüne bakın.
Pixel cihazdaki Google Play Store resimleri
Google Play Store artık Pixel ve Pixel 2 cihaz resimleri için etkinleştirilmiştir. Bu durum, Android Studio 3.2 ve sonraki sürümlerde AVD Yöneticisi'nde, Play Store sütununda Google Play logosu ile belirtilir. Google Play Store'un etkinleştirildiği AVD'ler, Genişletilmiş kontroller iletişim kutusunda bir Google Play sekmesiyle cihazdaki Google Play hizmetlerini güncellemek için uygun bir düğme sağlar.
Anlık Görüntüler
Artık emülatörü yeniden başlatmadan bir Hızlı Başlatma anlık görüntüsü yükleyebilirsiniz. Anlık görüntü yüklemek için Genişletilmiş Kontroller penceresini Ayarlar sayfasında açın ve Şimdi Yükle düğmesini tıklayın.
Kaynak kullanımının verimliliğini artırmak ve her bir işlemin süresini en aza indirmek için anlık görüntülerin yüklenmesi ve kaydedilmesiyle ilgili birçok iyileştirme yaptık. Olağan dışı uzun kaydetmelerle karşılaşmaya devam ederseniz lütfen CPU, RAM ve çalışan virüsten korunma / güvenlik duvarı/güvenlik yazılımınızın ayarlarını sağlayarak sorun bildirin.
Skia ile oluşturma
Emülatör, API 27 veya sonraki sürümleri kullanırken resimleri daha sorunsuz ve verimli bir şekilde oluşturabilen Skia ile oluşturabilir.
Şimdilik Skia'yı kullanmak için onu açıkça etkinleştirmeniz gerekiyor.
Skia oluşturmayı etkinleştirmek için adb kabuğunda aşağıdaki komutları kullanın:
su setprop debug.hwui.renderer skiagl stop start
Kamera
Android Emulator, Windows'da artık web kamerası arka ucu olarak Media Foundation'ı kullanıyor. Bu da web kamerası yakalamasının performansını ve kare hızını 720p'ye kadar 30 FPS'ye kadar önemli ölçüde artırıyor.
Mac'te webcam0 ve webcam1 artık birlikte kullanılabilir.
Çeşitli
-phone-number-prefix komut satırı seçeneği, tam telefon numarasının ayarlanmasına izin veren
-phone-number [number] olarak değiştirildi.
Artık alfanümerik SMS adreslerini kullanabilirsiniz.
Düzeltmeler
- Android Emülatör'ün Linux sürümü artık modern bir Clang C++ araç zinciri kullanılarak oluşturulmuştur. Bu değişiklik, libGL ve libstdc++ hataları nedeniyle başlatılamayan emülatör sorununu düzeltir.
- Kilitlenme ve kilitlenmelerin birçok nedeni düzeltildi.
- Yeterli boş disk alanı olmamasından kaynaklanan kilitlenmeleri ve kilitlenmeleri önlemek için emülatör, artık başlangıçta yeterli boş disk alanı olup olmadığını kontrol eder ve en az 2 GB boş alan olmadığı sürece başlamaz.
- Bazı Unity oyunlarının oluşturulmasını engelleyen bir sorun düzeltildi.
- Emülatörün ağa bağlanamamasına neden olan DNS sorunu düzeltildi.
- Sanal Cihaz Yapılandırması iletişim kutusu üzerinden bir AVD'ye ayrılan dahili depolama biriminde yapılan değişikliklerin çalışmamasına neden olan bir sorun düzeltildi.
- Birçok adb işleminin oluşturulması ve düzgün şekilde kapatılmaması sorunu düzeltildi.
- Genişletilmiş denetimler penceresi açık olmadığı sürece, döndürme düğmelerinin ve kullanıcı arayüzünün diğer bölümlerinin yanıt vermemesine neden olan sorun düzeltildi.
- Genişletilmiş denetimler iletişim kutusu en az bir kez açılmadıkça ana makineden kopyalama ve yapıştırmanın çalışmamasına neden olan bir sorun düzeltildi.
- Çerçevesiz emülatörün yeniden boyutlandırma dikdörtgeni, emülatörün görsel temasına daha uygun olacak şekilde güncellendi.
- Uçak modu açıkken telefon ve SMS artık düzgün bir şekilde devre dışı bırakılır.
- Anlık görüntü yüklendikten sonra SMS ve hücresel işlevlerin devre dışı bırakılmasına neden olan bir sorun düzeltildi.
- Artık
“Unable to open... \pstore.bin. Permission denied.”ifadesini içeren yanlış uyarı mesajları almayacaksınız
- Bazı Mac ekranlarında AVD'nin yeniden konumlanmasını engelleyen bir sorun düzeltildi.
- Yeni MacBook Pro bilgisayarlarda Pixel 2 XL derileriyle AVD'leri çalıştırırken oluşan titreme ve boş ekranlarla ilgili sorunlar düzeltildi.
- Çerçevesiz bir emülatör etkinken yakınlaştırılmış moda geçildiğinde boş ekranlarla ilgili sorunlar düzeltildi.
- Yakınlaştırılmış cihazın cilt ve emülatör içeriğinin senkronize olmamasına neden olan bir sorun düzeltildi.
Hâlâ askıda kalmaya devam eden veya başka dengesizlikler yaşıyorsanız lütfen sorun bildirin.
27.1.12 (Mart 2018)
Bu güncelleme aşağıdaki sorunların çözümlerini içerir:
- Emülatör başladıktan sonra Bluetooth ses kalitesi düşüyor. (Sorun 37095756)
- Bir emülatöre gönderilen konumlar hepsine gönderildi. (Sorun 73450633)
- Konsol kullanılarak ayarlanan GPS konumu, grafik kullanıcı arayüzünde Genişletilmiş Kontroller > Konum kullanılarak ayarlanan değerler tarafından geçersiz kılındı. (Sorun 73471760)
Hâlâ askıda kalmaya devam eden veya başka dengesizlikler yaşıyorsanız lütfen sorun bildirin.
Bu güncelleme, mevcut bir sistem görüntüsü ve Android Studio'nun önizleme sürümü ile ARCore ile oluşturulan artırılmış gerçeklik uygulamalarını çalıştırmak için Android Emulator'ı kullanabilirsiniz. Ayrıntılı şartlar ve talimatlar için Android Emülatör'de AR uygulamalarını çalıştırma bölümüne göz atın.
17.1.10 (Şubat 2018)
Kamerayla çekim çözünürlüğü
720p kareler, ekli bir web kamerasından yakalanabilir.
Ekli web kameralarının Android 8.1 (API düzeyi 27) ve daha yüksek sistem görüntüleriyle çalışabilmesi için 720p kare yakalama özelliği olmalıdır.
Düzeltmeler
- Web kamerası görüntüsünün bazen bozuk veya tamamen yeşil bir resim döndürmesine neden olan bir sorun düzeltildi.
- Gerçek bir askı olmadığında bile aşağıdaki mesajı görmenizi mümkün kılan bir sorun düzeltildi: "emülatör: HATA: "Qt etkinlik döngüsü", 15.000 ms için yanıt yok.
Hâlâ askıda kalmaya devam eden veya başka dengesizlikler yaşıyorsanız lütfen sorun bildirin.
27.1.7 (Şubat 2018)
Çerçevesiz emülatör penceresi:
Varsayılan olarak, cihaz cilt dosyaları bulunan emülatörler artık dairesel bir pencere çerçevesi olmadan gösterilir. Çevredeki pencere çerçevesini göstermek için Genişletilmiş Kontroller penceresinin Ayarlar bölmesinde Cihaz çerçevesini pencerede göster seçeneğini etkinleştirin.
AVD anlık görüntüleriyle çalışmayı daha verimli hale getiren Hızlı Başlatma iyileştirmeleri:
- Genişletilmiş Kontroller iletişim kutusunun Ayarlar bölmesindeki Şimdi Kaydet düğmesini kullanarak bir AVD anlık görüntüsünü istediğiniz zaman kaydedebilirsiniz.
- Emülatör, yalnızca mevcut durum ile daha önce kaydedilen anlık görüntü arasındaki farkı kaydederek çoğu durumda anlık görüntü kaydetmek için gereken süreyi kısaltır.
Ayrıntılı bilgi için Hızlı Başlatma dokümanlarına bakın.
Emülatör, QEMU 2.9'u kullanacak şekilde güncellendi.
Önemli iyileştirmelerden bazıları şunlardır:
- Daha iyi performans için optimize edilmiş G/Ç ve daha ayrıntılı G/Ç ileti dizisi kilitleme.
- QEMU 2.8 (26.1.4) tarihinden sonraki hatalar düzeltildi.
- HAXM arka ucunun yeni uygulaması.
Değişikliklerin tam listesini QEMU 2.9 değişiklik günlüğünde bulabilirsiniz.
OpenGL ES 3.0'a uygun Swiftshader uygulaması:
Emülatörün Swiftshader oluşturucusu artık OpenGL ES 3.0 ile tam uyumlu. Swiftshader oluşturucuyla ilgili ayrıntılar için Genişletilmiş Denetimler'in Ayarlar > Gelişmiş bölümüne bakın.
Düzeltmeler
- Pano paylaşımını etkinleştir seçeneği devre dışı bırakılıp devre dışı bırakılmadığı sürece pano paylaşımının çalışmaması sorunu düzeltildi.
- Swiftshader'ın düşük çözünürlüklü AVD'ler ile arka uç oluştururken kullanılmasıyla ilgili askı sorunu düzeltildi.
27.0.5 (Ocak 2018)
Windows'da oluşturma için ANGLE artık varsayılan olarak devre dışıdır.
ANGLE sizin için daha iyiyse
-gpu angle_indirectkomut satırı işaretini kullanarak tekrar etkinleştirebilirsiniz. Alternatif olarak, Genişletilmiş denetimler penceresini açın, Ayarlar > Gelişmiş'e gidin ve OpenGL ES oluşturucu ayarı için ANGLE D3D11'i seçin.
Üst Karakter + B'nin büyük B karakteri yazmaması sorunu düzeltildi.
27.0.2 (Aralık 2017)
Yeni Hızlı Başlatma özelliği, AVD örneğinizin anlık görüntüsüne göre daha hızlı emülatör başlangıç süreleri sağlar.
Hızlı Başlatma, tüm ortalama izleme süreleri için varsayılan olarak etkindir. Bir AVD'yi ilk kez başlattığınızda (cihazda çalışır gibi) sonraki tüm başlatma işlemleri hızlı gerçekleşir ve sistem, emülatörü kapattığınız duruma (cihazı uyandırmaya benzer) geri yüklenir.
Emülatörün ne zaman anlık görüntü kaydettiğini kontrol etmek istiyorsanız emülatörün Genişletilmiş kontroller penceresini açın ve Ayarlar'ı tıklayın. Burada, Çıkışta hızlı başlatma durumunu kaydet için aşağıdaki ayarlardan birini seçebilirsiniz:
- Evet: Emülatörü kapattığınızda her zaman hızlı başlatma anlık görüntüsünü kaydedin. Bu varsayılan seçenektir.
- Hayır: Hızlı başlatma anlık görüntüsünü hiçbir zaman kaydetme. Her zaman soğuk başlatma başlat.
- Sor: Emülatörü kapattığınızda hızlı başlatma anlık görüntüsünün kaydedilip kaydedilmeyeceğini sorun.
Seçiminiz yalnızca şu anda açık olan ortalama izleme süresi (AVD) için geçerlidir.
Daha fazla bilgi edinmek için Hızlı Başlatma belgelerine bakın.
Mac OpenGL ES 3 için destek eklendi (API düzeyi 24 ve sonraki sürümlerini kullanan sistem görüntüleri, Google API'leri ve x86 ABI için).
Emülatör, artık OpenGL ES 2+ uygulamalarında daha tutarlı olmak için OpenGL temel profilini kullanır.
Swiftshader / ANGLE ile oluşturma için yeni seçenekler:
-gpu swiftshader_indirect: Swiftshader'ın Quick Boot ile çalışan daha hızlı ve daha kararlı varyantı.
-gpu angle_indirect(yalnızca Windows): ANGLE D3D'nin Hızlı Başlatma ile de çalışan daha kararlı varyantı.
Eski
-gpu swiftshaderve
-gpu angleseçenekleri artık kullanımdan kaldırıldı. Genişletilmiş kontroller penceresinde, Ayarlar > Gelişmiş'teki OpenGL ES oluşturucu ayarı için "SwiftShader" ve "ANGLE" seçenekleri artık
*_indirectvaryantlarını kullanmaktadır.
-
Diğer çeşitli hata düzeltmeleri.
26.1.4 (Ağustos 2017)
Bu, hata düzeltmeleri ve GPU yapılandırmasında yapılan aşağıdaki iyileştirmeleri içeren küçük bir sürümdür:
- ANGLE oluşturucuda çalışırken başlatma animasyonunu etkinleştir
- ANGLE oluşturucuda çalışırken GLES3'ü devre dışı bırak
26.1.3 (Ağustos 2017)
Bu, hata düzeltmeleri, performans iyileştirmeleri ve küçük özellik değişiklikleri içeren küçük bir sürümdür.
- Bu sürüm artık en son Android 8.0 sistem resimlerini kullanmak için gereklidir.
Ayrı
vendor.imgbölümleri içeren üçlü uyumludur.
- Yeni HAXM 6.2.0 kullanıma sunuldu (SDK Yöneticisi'ne bakın) ve aşağıdaki güncellemeleri içerir:
- İyileştirilmiş bellek kullanımı. HAXM tarafından sabitlenen en yüksek çalışma belleği grubu, artık AVD'nin RAM'inin boyutuna eşit değildir. Bunun yerine, istek üzerine bellek sağlanır. Bu, emülatörün düşük RAM'e sahip makinelerde daha güvenilir bir şekilde çalışmasına yardımcı olur.
- HAXM 6.2.0 sürümü bulunan emülatör artık macOS'te daha hızlı başlatılarak uzun bir başlatma aşamasını atlayabiliyor.
- GPU yapılandırmasında iyileştirmeler
- Swiftshader ile ana makine tarafı yazılım oluşturmaya geri dönerek misafir tarafında yazılım oluşturma işlemi gerçekleştirilirken başlatma sırasında siyah ekranla ilgili sorunlar düzeltildi. Google API'leri ile birlikte API seviyeleri 19 - 25 için sistem görüntülerinin en son düzeltmelerinde konuk tarafı oluşturma işlemi gerçekleştirilmelidir.
- Daha eski Intel GPU'ların varlığı nedeniyle emülatörün bir yazılım oluşturucuya geçirilmesine rağmen aslında emülatörün ayrı bir GPU'da çalışmasıyla ilgili sorun düzeltildi. ANGLE veya Swiftshader oluşturmada kullanılacak GPU'lar aşağıdaki şekilde belirlenir:
- Eski Intel iGPU'larda hem OpenGL hem de ANGLE D3D sürücülerinde sürücü sorunları bulunur. Intel HD Graphics 3xxx ve daha eski sürümleri olan kullanıcılar Swiftshader'ı kullanır.
- Bazı kullanıcılar, "Pixel Launcher'ın sürekli durduğu" bir hata nedeniyle API düzeyi 25 görüntülerini kullanamadığını bildirdi. Bu sorun, bazı Intel HD 4xxx modellerinde sürücü sorunu olarak görülüyor. Bu nedenle, otomatik olarak ANGLE'i kullanacakları şekilde geçiş yapılacaktır.
- GPU emülasyonuyla en iyi sonuçları elde etmek için farklı bir NVIDIA veya AMD GPU ya da daha yeni bir Intel GPU (Iris, HD 5xxx, HD 5xx/6xx) kullanmanızı öneririz.
- AVD
hw.gpu.mode=hostile yapılandırılmışsa ve emülatör uzak bir masaüstü istemcisinde başlatıldıysa emülatörün başlatılamamasına (OpenGL emülasyonu başlatılamadı) kaynaklanan sorun düzeltildi.
- "OpenGL ES API düzeyi (yeniden başlatma gerekir)" ayarlarına açıklık getirildi. Sorun yaşamanız veya daha düşük OpenGL ES API düzeyleri üzerinde test gerçekleştirmeniz gerekiyorsa OpenGL ES 3'ten OpenGL ES 2'ye geçme seçeneği eklendi.
- Mesa oluşturucu kullanımdan kaldırıldı.
hw.gpu.mode=mesaartık ana makinede Swiftshader kullanacak şekilde otomatik olarak değiştirilecek.
- macOS için iyileştirmeler:
- Emülatör artık Hypervisor.Framework veya HAXM 6.2.0 üzerinden macOS 10.13 High Sierra ile tamamen uyumludur.
- Hypervisor.framework, macOS'te 32 bit x86 görüntüler için artık varsayılan olarak etkindir.
Böylece performansı ve macOS uyumluluğunu iyileştirebilirsiniz. Bu özellikle ilgili sorun yaşıyorsanız lütfen bir hata raporu oluşturun ve
HVF = offöğesini
~/.android/advancedFeatures.iniöğesine ekleyin (dosya yoksa lütfen bu dosyayı oluşturun).
- Hypervisor.framework kullanılırken internet bağlantısı olmaması veya hata ayıklayıcının eklenememesiyle ilgili sorunlar düzeltildi.
- Web kamerası yakalamasının uyumluluğunu ve performansını iyileştirmek için QTKit tabanlı kameraya yakalama, AVFoundation'a dayalı, arabelleğe alınmış bir kamerayla değiştirildi.
- Bazı sistem görüntülerinde kablosuz bağlantı desteği eklendi (şu anda yalnızca API düzeyi 25).
"AndroidWifi" adında bir erişim noktası vardır ve Android bu noktaya otomatik olarak bağlanır. Kablosuz destek, emülatörü
-feature -Wifikomut satırı parametresiyle çalıştırılarak devre dışı bırakılabilir.
- Bazı kullanıcılar, sabit boyutlu Play Store sistem resimlerinin yeterli depolama alanına sahip olmadığı endişesini uyandırdı. Bu nedenle, boyutu varsayılan olarak 2 GB'a (800 MB'tan) çıkardık.
- Hata raporlama kullanıcı arayüzü sayfasını doğrudan ayarlar sayfasından açmak için bir klavye kısayolu (Ctrl+Üst Karakter+U) eklendi.
- Intel x86 EPT kullanan ancak UG'si olmayan daha eski bir CPU kullanıldığında, birden fazla çekirdek yapılandırılmışsa emülatörün başlatılamamasına yol açan sorun düzeltildi.
- Emülatörün Xen hipervizörde çalışıyor olması halinde HyperV'in düzgün şekilde algılanmamasına neden olan sorun düzeltildi.
- Bazı Linux yapılandırmalarında emülatörün başlangıçta kilitlenmesine neden olan bir sorun düzeltildi.
26.1.2 (Temmuz 2017)
Bu sürümde yeni özellikler ve performans iyileştirmeleri yer almaktadır.
Genişletilmiş kontrollerde özel bir HTTP proxy yapılandırması tanımlama olanağı eklendi (Diğer seçeneğini ve ardından Ayarlar ile Proxy'yi tıklayın). Emülatör varsayılan olarak Android Studio HTTP proxy ayarlarını kullanır, ancak bu ekranda manuel bir proxy yapılandırması tanımlamanıza izin verilir.
Emülatörün uzaktan görüntülenebilmesi ve kontrol edilebilmesi için misafir modu GPU için VNC desteği eklendi. Örneğin, emülatörü başlatıp VNC'nin 5901 numaralı bağlantı noktasını aşağıdaki gibi dinlemesine izin verebilirsiniz:
- Yürüt:
emulator -gpu guest -avd avd_name -no-window -qemu -vnc :1
5901 numaralı bağlantı noktasına bağlanmak için bir VNC görüntüleyiciyi (vvnv görüntüleyici gibi) açın.
Mac'in yerleşik ekran paylaşımı istemcisini kullanmak için emülatörü başlatırken VNC şifresi gerekir. Şifre belirlemek için şu komutu kullanın:
emulator -gpu guest -avd avd_name -no-window -qemu -vnc :1,password -monitor stdio
Ardından
change vnc passwordkodunu konsola girip bir şifre girin.
-
Android O şu an için VNC modunda desteklenmemektedir.
- Yürüt:
Genişletilmiş denetimler Yardım ekranına Hata bildir düğmesi eklendi (Diğer'i , ardından Yardım ve Emülatör yardımı'nı tıklayın). Hata bildir'i tıkladığınızda ekran görüntüsü, AVD yapılandırma bilgileri ve hata raporu günlüğü gibi hata raporu ayrıntılarını görebileceğiniz bir iletişim kutusu açılır. Ardından, raporu kendiniz için kaydedebilir veya emülatör sorunlarını bildirebilirsiniz.
Emülatör ve sanal sensörler paneline jiroskop sensörü eklendi. Bunun için jiroskop desteği olan bir sistem görüntüsü (şu anda API düzeyi 24 ve 25) kullanılmalıdır.
Ana makinedeki birden fazla sanal ağ arayüzü emülatör için çalışmıyor olan birden fazla DNS adresi sunduğunda, Windows'da Qemu DNS listesine ana makine tercihli DNS eklendi.
macOS 10.10 ve sonraki sürümlerde sunucu işaretleri aracılığıyla 32 bit x86 görüntüleri için deneysel macOS Hypervisor.Framework desteği eklendi. Bu sayede başlatma süresi ve performans artırıldı.
- Bununla ilgili sorun yaşarsanız
~/.android/advancedFeatures.inisatırına
HVF = offsatırını ekleyin.
- Bununla ilgili sorun yaşarsanız
OpenGL ES 3.x artık sistem resimleri ve OpenGL ES 3'ü destekleyen ana makine GPU'ları için varsayılan olarak etkindir. Şu anda yalnızca Android O (API düzeyi 26) ve Windows/Linux ana makineleri OpenGL ES 3'ü desteklemektedir.
- OpenGL ES 3 ile ilgili sorun yaşıyorsanız
~/.android/advancedFeatures.inisatırını
GLESDynamicVersion = offsatırı ekleyin.
- OpenGL ES 3 ile ilgili sorun yaşıyorsanız
Emülatör artık son görüntülü resim yayınlama dışındaki tüm oluşturma işlemleri için ekran dışı OpenGL FBO'ları kullanıyor. Bu da platformlar arasında renk tutarlılığıyla ilgili sorunların giderilmesine yardımcı oluyor.
Emülatördeki ani yavaşlama sorunları hakkında veri topladıktan sonra, bu sorunun eski Intel OpenGL sürücüleri ve Windows güncellemeleri arasındaki bazı etkileşimlerden kaynaklanabileceğini tespit ettik. Bu nedenle, Intel HD 4000, 3.000, 2.000 (ve ilgili GPU'lar) kullanıcıları, şimdi varsayılan olarak D3D oluşturucu (ANGLE) veya Swiftshader (yazılım oluşturucu) olarak ayarladılar.
26.0.0 (Mart 2017)
Bu sürüm, API düzeyi 26 ile uyumludur. Ayrıca, bir dizi performans iyileştirmesi ve hata düzeltmesi de sunulmaktadır.
Küçük düzeltme 26.0.3 (Mayıs 2017)
- Sorunlu donanım yapılandırmalarından kaynaklanan sorunları hızla gidermek için internet üzerinden güncellenebilen özellik işaretleri ekler. Bu, Google'ın sunucu tarafı işaretleri güncelleyerek kullanıcı yapılandırmalarına bağlı düzeltmeleri ve özellikleri kullanıma sunmasını sağlar. Belirli bir donanımla ilgili sorun yaşarsanız sorunu araştırabilmemiz için lütfen hata bildirin.
- Android Wear API düzey 25 sistem görüntüleri için yeni rotasyon desteği. Bir Wear cihazda rotasyonlu giriş emülasyonunun emülasyonu için genişletilmiş pencerede Rotasyon Girişi sekmesini tıklayın.
- Kilitlenme Raporu iletişim kutusu artık yeniden boyutlandırılabilir ve artık sıfırlanmaz Kilitlenme raporları ne zaman gönderilir? Giriş yapmadan sorun.
- 32 bit emülatörde artık emülatörün 2 GB sanal adres alanında yer açılmasını önlemek için maksimum AVD RAM boyutunun 512 MB'tan az veya bu değere eşit olması gerekmektedir.
- Emülatör resimlerindeki mutlak yollar için destek ekler.
- Genişletilmiş pencerede, Play Hizmetleri sürümünü gösteren Google Play Store resimleri için yeni bir sekme ve Play Hizmetleri güncellemelerini kontrol eden bir düğme ekler.
- Emülatör Ayarları sayfasında OpenGL oluşturucuyu seçmek için bir açılır liste ekler. Bir Windows makinesinde OpenGL sürücüsüyle ilgili sorunlar yaşıyorsanız ANGLE (D3D11) veya ANGLE (D3D9) seçeneklerini kullanmayı deneyin (yeniden başlatma gerekir). Windows dışı bir makinede OpenGL sürücüsüyle ilgili sorunlar yaşıyorsanız Swiftshader yazılım oluşturucuyu kullanmayı deneyin (yeniden başlatma gerekir).
- Emülatör hem
exithem de
minimizekomutları aldığında çıkıştaki nadir kilitlenmeyi düzeltir.
- Mac makinelerde ekran değiştirirken ölçeklendirme sorununu düzeltir. (Sorun 268296)
- Emülatörün, CPU'nun% 300'ünü alıp ana makineyi uyku modundan devam ettirdikten veya emülatör uzun süre çalıştırdıktan sonra tutmasıyla ilgili sorunu düzeltir.
- Emülatör kapandığında oluşan kilitlenme düzeltildi.
HAXM 6.1.1 sürümüyle ilgili güncellemeler (Mart 2017)
Not: HAXM 6.1.1 sürümü, 30 Mart'tan itibaren SDK Yöneticisi üzerinden Mac kullanıcıları tarafından kullanılabilir. Çok yakında Windows kullanıcılarına da sunulacaktır.
Android Emülatör'ün 26.0.0 sürümü, aşağıdaki güncellemeleri içeren HAXM 6.1.1 sürümünü destekler:
- Performans İzleme Birimleri (PMU) emülasyonunu etkinleştirir. (Sorun 223377)
- Mac'lerde VirtualBox ve Docker ile birlikte kullanım sorunlarını düzeltir. (Sorun 197915)
- Yükleyici, Windows'da genellikle Hyper-V etkin olduğundan Intel VT-x'i algılayamadığında görüntülenen yükleme hatası mesajını düzeltir.
- Hyper-V tabanlı bir Windows sanal makinesinde Android Emülatör'ü hızlandırma desteği eklendi. Bu güncelleme, ana makine Hyper-V örneğinin (Windows sanal makinesini/misafirini yöneten örnek) iç içe sanallaştırmanın etkin olduğu Hyper-V'nin en son sürümünü kullanmasını gerektirir. Hyper-V, konuk Hyper-V örneğinde (Windows sanal makinesi) devre dışı bırakılmalıdır.
Bağımlılıklar
- Android SDK Platform-Tools 25.0.4 veya sonraki sürümler.
- Android SDK Tools düzeltme 26.0.0 veya sonraki sürümler.
Yeni özellikler ve hata düzeltmeleri
- API düzeyi 26 ile uyumludur.
- GLES 2.0'a tamamen uygundur. Uyumlu masaüstü OpenGL sürücüleri olan bir ana makine GPU'su verildiğinde emülatör artık Android CTS dEQP-GLES2
mustpasslistesinin% 100'ünü geçer. Bu, API düzeyi 24x86 görüntüleri (düzeltme 11 ve üstü) için yayınlanmıştır ve yakında tüm sistem görüntülerine eklenecektir.
- İyileştirilmiş video oynatma performansı. Emülatör artık tüm video rengi arabelleklerini ana makine/misafir paylaşılan belleğinde depolar ve GPU'da gerekli nihai YUV'den RGB'ye dönüştürme işlemi gerçekleştirir. 1080p30'un şu anda çoğu sisteme uygun olması gerekir. Bu, API düzeyi 24x86 görüntüleri (düzeltme 11 ve üstü) için kullanıma sunulmuştur ve yakında tüm sistem görüntülerine eklenecektir.
- Emülatörde artık çıkışta
adb deviceslistesinin kaydı doğru şekilde çözülür ve Linux makinelerde açık TCP bağlantı noktaları kapatılır.
- adb bağlantıları artık daha güvenilir. Çalışan bir emülatör daha hızlı algılanır ve artık "çevrimdışı" veya "yetkisiz" durumuna geçmez.
25.3.0 (Mart 2017)
Bu sürümde, Android Emülatör SDK araçlarından ayrı olarak kullanıma sunulacaktır. Bu sürüm çeşitli performans iyileştirmeleri, yeni özellikler ve hata düzeltmeleri içeriyor.
Küçük düzeltme 25.3.1 (Mart 2017)
- GLAsyncSwitch'i varsayılan olarak devre dışı bırakarak bazı GPU yapılandırmalarında oluşan kilitlenme düzeltildi.
Bu özellik, oyunlar ve videolar için kare zamanlamasını ve saniyedeki kare sayısını iyileştirmek amacıyla 25.3.0 sürümünde eklenmiştir, ancak emülatörün bazı bilinmeyen makine yapılandırmalarında başarısız olmasına neden olmaktadır.
android_sdk/emulator/lib/advancedFeatures.inidosyasını açıp
GLAsyncSwap = onözelliğini ayarlayarak manuel bir şekilde etkinleştirebilirsiniz.
Bağımlılıklar
- Android SDK Platform Araçları araçları 24 veya sonraki bir sürümü.
- Android SDK Araçları düzeltme 25.3.0.
Yeni özellikler ve hata düzeltmeleri
- Son tüm hata düzeltmeleri, iyileştirilmiş performans ve yeni özellikler de dahil olmak üzere emülasyon motoru QEMU 2.7 olarak güncellendi.
- Yeni IPv6 desteği.
- Emülatör artık SwiftShader'ı sadece ana makine üzerinde yazılım oluşturucu olarak kullanıyor.
- Android Pipe Performance performans iyileştirmeleri: Emülatör ve Android OS arasındaki ana iletişim kanalı olan Android Pipe, artık daha hızlı bir büyüklüğe sahip, daha düşük gecikmeli ve daha iyi çok iş parçacıklı performans sunuyor. Bu, emülatörde aşağıdakiler gibi çeşitli performans iyileştirmelerine neden olur:
- ADB aktarma veya çekme hızı iyileştirildi.
- Daha iyi 3D hızlandırma desteği.
- Emülatörün genel yanıt verme hızı artar.
- İyileştirilmiş grafik performansı.
- Emülatör artık konuklar istediğinde GPU tarafı arabellek (gliframeBuffers / glBufferData) kullanarak bazı uygulamalarda CPU ek yükünü azaltıyor.
- İyileştirilmiş ses desteği.
- Daha hızlı disk G/Ç: Emülatör artık disk G/Ç'sini göndermek için ayrı ileti dizileri kullanıyor.Bu da daha düşük gecikme ve daha yüksek işleme hızı (yaklaşık 1, 5 kat sıralı G/Ç hızı, ~5 rastgele rastgele G/Ç hızı) sağlıyor. Bu şekilde diskte temizlenecek öğe sayısı da azalır, böylece fiziksel cihaz yükü çok daha az olur.
- Emülatör artık Windows makinelerde disk önyüklemeleri için seyrek dosyalar kullanarak hem ilk başlatma hem de "tarama verileri" önyüklemelerini hızlandırıyor. Bir AVD oluştururken veya sıfırlarken, emülatör artık diske 2 GB veya 100 MB yerine 100-200 MB veri yazıyor.
- GUI'de kullanılabilecek çeşitli iyileştirmeler:
- Emülatör artık hata düzeltmeleri ve performans iyileştirmeleri içeren 5.7.0 sürümünü kullanıyor.
- Kullanıcı arayüzü başlatma artık tüm emülatör yürütülebilir dosyalarını Qt eklentileri olarak yüklemeyi denemediğinden, özellikle HDD'lerde önemli ölçüde daha kısadır.
- Rotasyon, pencere boyutu değiştirme, genişletilmiş kontrol penceresi yükleme ve kapatma gibi kullanıcı arayüzü etkileşimleri artık daha hızlı ve daha akıcı.