Android Emülatörü, Android Studio'ya dahildir.
25.3.0'dan önceki emülatör sürümleri, Android SDK Tools'ı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 Emulator'ün önceki sürümlerini indirmek için Emulator indirme arşivi bölümüne bakın.
25.3.0'dan önceki Emulator sürümlerinin sürüm notları için Android SDK Tools sürüm notlarına bakın.
Bilinen sorunlar ve sorun giderme için lütfen Emülatör Sorun Gidericisi başlıklı makaleyi inceleyin.
35.4.4 Canary (12 Aralık 2024)
Yeni Android XR Emulator
Kulaklıklar için Jetpack XR SDK'sı ile oluşturulan uygulamaları geliştirmek ve test etmek üzere yeni ve deneysel bir Android XR emülatörü ekledik. Android XR emülatörünü yükleme ve geliştirme ortamınızı ayarlama hakkında bilgi edinmek için bu kılavuzu inceleyin.
Android XR emülatörü deneysel bir araçtır. Yine de erkenden test edebilmeniz için bu özelliği sizinle paylaşmaya karar verdik. Özellikle bazı Windows GPU ve sürücü yapılandırmalarında sorun görebilirsiniz. Mevcut 2D mobil uygulamaların uyumluluk testiyle ilgili de sorunlar ortaya çıkabilir. Geri bildiriminiz, özellikleri iyileştirmemize ve gelecekte hangi özelliklere öncelik vereceğimize karar vermemize yardımcı olacaktır.
Android XR emülatörü şu ana kadar aşağıdaki donanım yapılandırmalarında test edilmiştir:
- Mac (ARM)
- Windows 11
- nVidia GPU, 4 GB vRAM, sürücü sürümü 553.35 veya daha yeni
- 16 GB veya daha fazla RAM
- 8 Çekirdek veya daha fazla
Bilinen Sorunlar
Emülatör - Kararlılık ve performans:
- Bazı Windows yapılandırmalarında, önyükleme sırasında veya uygulamalar çalışırken kritik sistem kilitlenmeleri ya da kilitlenmeler yaşanabilir. WHPX'yi etkinleştirmeyle ilgili Android Studio Geliştirici Kılavuzu'nu uygulayarak Windows Hiper Yönetici Platformu'nun (WHPX) etkinleştirildiğinden emin olun.
- Askıya alma/devam ettirme döngüsü (ör. dizüstü bilgisayarı kapatıp açma) sonrasında dizüstü bilgisayarlarda AVD'nin veya kullanıcı arayüzü öğelerinin yanıt vermemesi gibi sorunlar.
- Uygulamalar "ana ekran modundan" "tam ekran moduna" geçirilirken zaman zaman kilitlenme
- Gemini API'leri henüz kullanıma sunulmadığından Gemini API başlangıç şablonu uygulaması kilitlenecektir.
Emülatör - Giriş ve çıkışı taklit etme:
- Arama ve düzenleme alanları için sanal tuş takımı, görüş alanında yalnızca kısmen görünebilir
Öğeler fare ve klavye kullanılarak z yönünde (ekrandan içeri ve dışarı) taşınamaz.
AVD mikrofon ana makine ses girişinin kararsızlığı, AVD'nin yeniden başlatılmasına ve kilitlenmesine neden olabilir.
Ses bazen statik veya bozuk olabilir.
Kamera sanal salondan çıkarıldığında oluşturma hataları görünür.
Windows yapılandırmaları normalden daha koyu renkler gösteriyor.
macOS'te emülatör boşta bırakıldıktan ve ekran kilitlendikten sonra ses artık çalışmıyor. (Emülatör yeniden başlatılırsa geri yüklenir.)
Ana makine kablosuz ağı değiştirdiğinde ağ bağlantısı kesilir.
Büyük harf kilidi etkinken küçük harfler de yazılmaya devam eder.
Mac'te dokunmatik yüzeyi kullanarak kaydırma işlemi akıcı değil.
Bazı kullanıcı arayüzü öğelerinde tıklayıp sürükleyerek kaydırma özelliği, tasarım gereği çalışmayabilir. Bu düğme yoksa kaydırma yapmak için fare tekerleğini kullanın.
Bazı Windows sistem yapılandırmalarında Chrome'da bulanık metin, kullanıcı arayüzü ve diğer aksaklıklar Olası geçici çözüm: WHP'yi etkinleştirme.
Emülatör - Uçak ve ankraj simülasyonu:
- Sabit noktalar bazen aynı konumun yakınında yeniden doğmaz.
- Hareketli paneller duvarlara veya tavana sabitlenmeyebilir
- Yapay zeka tarafından simüle edilen düzlemler, geçiş modundaki 3D odanın fiziksel düzeniyle eşleşmiyor
- Sanal odada nesneleri sabitlemek için genel olarak sınırlı alanlar
- Windows'daki geçiş görünümünde küçük, görünür bir yapı
- Bazı durumlarda, ankraj yerleştirmek uygulamanın kilitlenmesine neden olabilir.
- Windows'ta uygulamaları yere yakın bir yere taşırken uygulamaların üzerinde siyah çizgiler görünebilir
Emülatör - Diğer:
- Emülatör yalnızca "bağımsız" modda başlatılır. "Yerleşik" mod (yerleşik kullanıcı arayüzü) henüz desteklenmemektedir.
- Windows'daki emülatörde hesaplarla oturum açmak, emülatörün donmasına neden olabilir
- Pencerelerin kullanıcı arayüzü içeriği yeniden boyutlandırıldıktan sonra kaybolabilir (geçici çözüm: "Ana Sayfa" düğmesine basma)
- JXRCore ActivityPanelTest uygulamasında ikincil panel başlangıçta gösterilmiyor
- Hızlı ayar öğeleri uzun bir süre sonra sistem ayarlarından kaybolabilir.
- Emülatör kullanıcı arayüzü başlangıçta ekran bölgesinin dışında görünebilir. Bu durumda, emülatör penceresinin boyutunu biraz ayarlayın. Böylece, pencere tekrar yerine gelecektir.
- Windows'da Chrome Uzaktan Masaüstü kullanılırken emülatör başlatılmayabilir
- Open XR şu anda emülatörde desteklenmemektedir ve Open XR uygulamaları emülatörü kilitleyebilir.
- Windows'ta Android Studio genişletilmiş ayarları üzerinden hata raporu göndermeye çalışırken nadiren başarısız olma
- Mac'te imleç simgeye yaklaşana kadar Ayarlar uygulamasında "Geri git" simgesi doğru şekilde görünmüyor
- Bazı durumlarda, XR şablon projesinin bir parçası olarak "Temel Profil" modülü kullanılırken derleme hatası oluşabilir.
- "XR Talkback" erişilebilirliği şu ana kadar emülatöre yalnızca kısmen entegre edilmiştir.
Scene Viewer uygulaması:
- Sahne Görüntüleyici'deki öğeleri taşımak, programın kilitlenmesine neden olabilir. Bu sorunu gidermek için öğeyi taşımayı denemeden önce kafa konumunu başlangıç konumundan hafifçe uzaklaştırın (ör. kaydırma, kamera hareketi, WASD tuşları vb.).
- 3D modelin gerçek boyutu, ölçeğin minimum ve maksimum sınırlarının (şu anda sırasıyla 20 cm ve 70 m olarak ayarlanmıştır) altında veya üstündeyse 1:1 gerçek boyut özelliği düzgün çalışmaz.
- 3D model, yüklendikten sonra ilk kareye atlayabilir
35.2.10 (1 Ekim 2024)
- Pixel 9, Pixel 9 Pro, Pixel 9 Pro XL ve Pixel 9 Pro Fold dahil yeni Pixel AVD'ler eklendi
- Vanilla Ice Cream (API 35) için yeni Tablet sistem resmi eklendi
35.1.20 (29 Ağustos 2024)
- Pixel 8a AVD eklendi
- Katlanabilir cihazlar için çeşitli hata düzeltmeleri
- Qt güncellemesi ve Qt ile ilgili kilitlenme ve donmalar için düzeltmeler
- [Hata Düzeltmesi] Vulkan kullanan uygulamalarda Windows'ta kilitlenme ve donma sorununu düzeltme
34.2.16 (9 Temmuz 2024)
- [Hata Düzeltmesi] Pixel Fold'da katlama/açma sırasında kullanıcı arayüzünün donması
- [Hata Düzeltmesi] Mac M1'de Android sürümünün API 35 yerine Android Vanilla Ice Cream Preview olarak yanlış gösterilmesi.
- [Hata Düzeltmesi] Sayı #296162661: HasSystemFeature FEATURE_SENSOR_HINGE_ANGLE, Pixel C tablet emülatöründe doğru değerini döndürüyor
34.2.15 (31 Mayıs 2024)
- Değiş tokuş modu ve reklamveren temizliğiyle ilgili çeşitli kilitlenme düzeltmeleri
34.2.14 (20 Mayıs 2024)
Android Studio Jellyfish Stable Patch 1 ile test edilmiştir.
- [Hata Düzeltmesi] Anlık görüntü, yerleşik emülatörde bazen takılıyor
- [Hata Düzeltmesi] "Hayır" ve "İptal" düğmeleri anlık görüntüde düzgün çalışmıyor
- [Hata Düzeltmesi] Yönsel tuş düğmeleri çalışmıyor
- [Hata Düzeltmesi] ANGLE ile GPU modları kullanılırken Windows'ta görülen ve emülatörlerin bazı durumlarda başlatılmasını engelleyen ve günlükte "GL emülasyonu başlatılamadı" hata mesajını döndüren sorun düzeltildi. Emülatörü
-gpu swangle_indirect
seçeneğiyle komut satırından başlattığınızda bu sürümde bu hatanın oluşmaya devam edebileceğini unutmayın. Yine de bu sürümde Windows'ta yazılım grafikleri oluşturma özelliğiyle komut satırı kullanarak emülatörü başlatmak istiyorsanız lütfen-gpu swiftshader_indirect
- [Hata Düzeltmesi] Klavyedeki konum kısayolu, kullanılamayan bir harita yüklüyor
- [Hata Düzeltmesi] Konum ayarlanırken "Rotayı kaydet" iletişim kutusu eksik
34.2.13 (30 Nisan 2024)
Android Studio Jellyfish kararlı sürümüyle test edilmiştir.
- Qt 6.5.3'e güncelleme
- Mayısın sonunda gerçekleşecek olan, emülatördeki Genişletilmiş Denetimler'deki Konum özelliklerinde kullanılan Google Haritalar API güncellemeleriyle uyumluluk.
- Yüksek düzeyde etkili kilitlenme düzeltmeleri
- Pixel AVD'lerde çeşitli düzeltmeler
- Yazılım oluşturma için kullanılan grafik kitaplığını güncelleme
- [Hata Düzeltmesi]Sorunu 225541819: Chrome'u başlatmak x86_64'te Emülatör'ü kilitler
- [Hata Düzeltmesi]Sorunu 314614435
-http-proxy
anahtarı yanlış şekilde ayrıştırılıyor
34.1.20 (1 Nisan 2024)
Android Studio Iguana kararlı sürümüyle test edilmiştir.
- [Hata Düzeltmesi] Sayı #314614435:
-http-proxy
anahtarının yanlış ayrıştırılması sorunu düzeltildi
34.1.19 (7 Mart 2024)
Android Studio Iguana kararlı sürümüyle test edilmiştir.
- [Hata Düzeltmesi] Sayı: 312677259: Pencere yeniden boyutlandırıldığında yerleşik emülatörde ekran donması sorunu düzeltildi.
34.1.18 (29 Şubat 2024)
Android Studio Iguana kararlı sürümüyle test edilmiştir.
- Emülatör'e aşağıdakiler dahil olmak üzere cihazlar eklendi:
- Pixel Fold
- Pixel Tablet
- Pixel 8
- Pixel 8 Pro
- Pixel 7a
- gRPC Entegrasyon Testi: gRPC uç noktaları artık emülatör içinde çalışan ve gerçekçi senaryoların test edilmesini sağlayacak enstrümante edilmiş testlerde kullanılabilir. Bu özellik, geliştiricilerin Android enstrümantasyon testlerinden Android Emulator tarafından barındırılan gRPC uç noktasıyla güvenli bir şekilde etkileşim kurmasını sağlar.
- Çeşitli hata düzeltmeleri
- Hata Düzeltmesi: Katlanabilir cihazın kullanılabilirliğiyle ilgili iyileştirmeler
- Hata Düzeltmesi: Döndürme işleminden sonra emülatörün konumunu ayarlama
- Kilitlenme düzeltmeleri
33.1.24 (28 Aralık 2023)
Android Studio Hedgehog kararlı sürümü ve Iguana Beta 1 ile test edilmiştir.
- Emülatör web kamerasının mp4 biçiminde ekran kaydına izin vermemesi sorunu düzeltildi.
- Ekran kaydı sırasında Pixel Fold AVD'de katlanmış durumdayken Emulator kilitlenme sorunu düzeltildi.
- Pixel Fold'da, ayrılmış klavyeyle farklı bir telefon kılıfı gösterilmesi ve telefonun kullanılamaması sorunu düzeltildi (Windows, Mac Intel ve Linux'ta düzeltildi)
- Bağımsız modda sanal sensörlerin görünümündeki hatayı düzeltme (Windows, Mac Intel ve Linux'ta düzeltildi)
- Özellikle emülatör kapatılırken yaşanan bazı kilitlenmeler düzeltildi
33.1.23 (30 Kasım 2023)
Android Studio Giraffe Patch 4 ve Hedgehog Stable ile test edilmiştir.
- Pixel Fold cihazını daha iyi taklit etmek için yeni katlanabilir uygulama, en son API 34 ile çalışır
- Grafik arka ucu yükseltmesi: Grafik arka ucumuz için gfxstream protokolünü uyguladık. Bu geliştirme, sisteminizin genel grafik performansını ve kararlılığını artırır. Ayrıca, API 34'teki sistem görüntüsünden itibaren Vulkan 1.3 desteği kullanıma sunuluyor.
- Özellik İsteği: İki parmağı yakınlaştırmak veya uzaklaştırmak için sıkıştırma hareketini devre dışı bırakma veya kısayol tuşunu yeniden atama seçeneği
- [Hata Düzeltmesi] Sorunun numarası: 302562962 MacOS sonoma kullanılırken emülatör web kamerasının kilitlenmesi sorunu düzeltildi
- [Hata Düzeltmesi] Sayı: 293503871 Emülatör yeniden başlatılırken "Mikrofon" ayarının kaydedilmemesi sorunu düzeltildi
- [Hata Düzeltmesi] Sayı: 270386314 AVD ekranı küçültüldükten sonra kenar çubuğunun açık kalması sorunu düzeltildi
- [Hata Düzeltmesi] Sorunu #154896775 Hata gönderme aracını düzeltme
32.1.15 (29 Ağustos 2023)
Android Studio Giraffe Patch 1 ve Hedgehog Canary 16 ile test edilmiştir.
- AAE emülatöründe sensörler için GAS donanım koşullarını karşılama
- [Hata Düzeltmesi] Sayı #266201208 API 33'te İbranice SMS gönderilmiyor
- [Hata Düzeltmesi] Sorunun numarası: 257097404 API 29 ve 30'da ana makine uyandırıldıktan sonra emülatör doğru zamanı göstermiyor
- [Hata Düzeltmesi] Sorunun numarası: 228201899 Android Emulator Genişletilmiş Denetimleri'nde Google Haritalar görülemiyor
32.1.14 (27 Haziran 2023)
Android Studio Hedgehog Canary 8, Giraffe Beta 5 ve Flamingo kararlı sürümleriyle test edilmiştir.
- Emülatör kamera yönlerini ve bozulmalarını düzeltin.
- [Hata Düzeltmesi] Sayı: 257097404 "Ana makine uyandırıldıktan sonra emülatör doğru zamanı göstermiyor". Bu hata, API 29 ve API 30 için hâlâ yeniden üretilebilir.
- [Hata Düzeltmesi] Sayı: 243456582 "API 30'dan sonraki Android sürümleri, Mac M1 makinelerde emülatörde düzgün şekilde başlatılmayabilir"
32.1.13 (22 Mayıs 2023)
Android Studio Hedgehog Canary 2, Giraffe Beta 1 ve Flamingo Stable ile test edilmiştir.
- Pixel Fold ve Pixel Tablet AVD'leri için destek ekleyin.
- gLinux kilitlenme sorununu iyileştirin.
- [Hata Düzeltmesi] Sayı: 215231636 "API 30'dan sonraki API'lere sahip emülatör Intel 12. nesil işlemciye sahip cihazlarda çalışmıyor".
- [Hata Düzeltmesi] Sorunun numarası: 275397905 Android Emulator M1'de imleci tekrar tekrar emülatöre ve emülatörden uzaklaştırırken yüksek düzeyde kilitlenme
- AVD lansmanıyla ilgili bilinen sorun Sorunun numarası: 281725854. Daha fazla bilgi için lütfen Emülatör Sorun Gidericisi başlıklı makaleyi 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üzeltmesi] Sayı: 267647323 Android Studio'dan başlatılan emülatörde ağ çalışmıyor
- [Hata Düzeltmesi] Sayı: 268498686 Emülatör ekranı titriyor
- [Hata Düzeltmesi] Sorunun numarası: 270034824 33.1.1 sürümüne güncellendikten sonra emülatör performansı düştü
- [Hata Düzeltmesi] Sorunun numarası: 225541819 Chrome'u başlatmak, x86_64'te Emülatör'ü kilitler
- [Hata Düzeltmesi] Sayı #257097404 Ana makine uyandırıldıktan sonra emülatör doğru zamanı göstermiyor
- Apple M1 cihazlar için kilitlenme raporlaması 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şik Emülatör'de fare desteği
- Virtio-snd iyileştirmeleri
- Yükleme sırasında Android Emulator'un sıkıştırmasını açarken sembolik bağlantıların kullanımını devre dışı bırakma
- Emülatör kontrolünde kilitlenme sorununu 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üzeltmesi] Play Store'a giriş yapılırken oluşan AVD kilitlenmelerini düzeltme.
31.3.13 (27 Ekim 2022)
Android Studio Dolphin, Electric Eel Beta 2 ve Flamingo Canary 5 ile test edilmiştir.
- [Hata Düzeltmesi] Sorunu #249948338: Saat dilimi parametresi çalışmıyor
- [Hata Düzeltmesi] Sayı: 249366543: API 31'den sonra emülatör -dns-server seçeneği çalışmıyor
31.3.12 (10 Ekim 2022)
Android Studio Dolphin ve Electric Eel Beta 1 ile test edilmiştir.
Bu güncelleme aşağıdaki iyileştirmeleri ve düzeltmeleri içerir:
- [Hata Düzeltmesi] Sayı: 247843000: AVD göreli yolu işleme hatası
- API 24 ve sonraki sürümler için disk boyutunu artırma
31.3.11 (23 Eylül 2022)
Android Studio Dolphin ve Electric Eel Canary 10 ile test edilmiştir.
Bu güncelleme aşağıdaki iyileştirmeleri ve düzeltmeleri içerir:
- [Hata Düzeltmesi] Genişletilmiş Denetimler Penceresinde Yerleşik Emülatör AVD kilitlenmesi
- [Hata Düzeltmesi] Sorunun numarası: 183139207: Emülatör'ün mikrofonu etkinleştirmesiyle ilgili ses sorunları
- [Hata Düzeltmesi] Sorunun numarası: 229764024: Kullanıcı arayüzü davranış sorunlarına neden olan AVD yapışkan dokunma hatası
- [Hata Düzeltmesi] Mac M1'de API 33 AVD'yi başlatmayla ilgili hata.
- [Hata Düzeltmesi] Sayı: 243053479: Emülatör güncellendikten sonra ağ hızı yavaş
- [Hata Düzeltmesi] Sorunun numarası: 244617627: Windows ve Linux'ta Haritalar konumu çalışmıyor
- [Hata Düzeltmesi] Sorunun numarası: 232971796: Gelişmiş Denetimler > Telefon sayfasında "Cihazı ara" düğmesi çalışmıyor
- Android Emulator'u minigbm olarak güncelleme
- Derleme komut dosyalarını Python 3'e taşıma
31.3.10 (18 Ağustos 2022)
Android Studio Dolphin Beta 5 ve Electric Eel Canary 9 ile test edilmiştir.
Emülatör bağımsız olarak indirilebilir. Bu en son kararlı sürümde sorun veya kilitlenme yaşıyorsanız lütfen hata kaydı oluşturun ve emülatör indirme arşivlerinden daha önce ç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 yolu desteği
- Emülatör kapatma işleminin daha iyi ele alınması sayesinde aynı AVD'nin yeni bir lansmanı başarılı olabilir.
- Katlanabilir AVD tasarımı ve varsayılan ayarları güncellendi
- Güncellenen Wear emülatör düğmeleri
- gRPC ses akışı iyileştirmeleri
- Boyutlandırılabilir emülatör konsol komutu eklendi
- API 31 için Chrome Düzeltmesi
- [Hata Düzeltmesi] GmsCore v21.42.18 ile Google Hesabı Kimlik Doğrulaması 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:
- Vulkan işlevlerini yedeklerle yüklemek için yardımcı program ekleme
- [Hata Düzeltmesi] gcc8 derleme hatası düzeltildi
31.2.9 (23 Mart 2022)
Android Studio Dolphin Canary 7 ile test edilmiştir.
Bu güncelleme aşağıdaki düzeltmeyi içerir:
- [Hata Düzeltmesi] M1'de anlık görüntü kaydederken bellek baskısını yoksayma
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üzeltmesi] Uygulamalarda oturum açılamıyor
- [Hata Düzeltmesi] Sayı 215368358'deki sorun: Intel platformunda "adb reboot", "vcpu shutdown request" ile avd'yi kilitler
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üzeltmesi] M1 makinelerinde emülatör donma 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ç özelliklerini VHAL sekmesinde düzenlenebilir hale getirdik.
- [Hata Düzeltmesi] GmsCore v21.42.18 ile Google Hesabı Kimlik Doğrulaması Başarısız Oldu.
- [Hata Düzeltmesi] Netshaper, VirtioWifi ile iyi çalışmadı.
- [Bug Fix] Event mouse console command didn't work.
- 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.
- Birden fazla ekranlı bir pencerenin boyutu değiştirilirken yön yok sayılır.
- Kablosuz ağ: MAT mac adresine göre tek adresli paketleri filtreleme desteği eklendi.
- Kablosuz ağ: vmnet kullanılırken kilitlenme sorunu 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 boyutunda bir pencereye kolayca yeniden boyutlandırma özelliği eklendi.
- Uyumlu ana cihazlardan gelen çoklu dokunma girişi için destek eklendi.
- VirtioWifi: Dokunmatik ağ desteği eklendi.
- Wear sistem resimleri için döner giriş etkinleştirildi.
- gRPC ses yapılandırması sorunu düzeltildi.
- SensorReplay emülatör oynatma özelliği, standart Android sensörlerini desteklemek için güncellendi.
- USB geçişi ile USB kullanarak emülatör çevre birimlerine 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 resimlerinde logcat ve çekirdek mesajları için virtio-console kullanılacak.
- Vulkan oluşturma işlemini hızlandırın.
- Test başarısız olduğunda anlık görüntü hata ayıklama desteği eklendi.
- virtio-gpu: En son blob kaynak enum'lerini desteklemek için tanımları güncellendi.
- "asg" türü grafik aktarımları için anlık görüntü desteği eklendi.
- macOS: macOS SDK 11.1 ve sonraki sürümlere göre derleme desteği eklendi.
- KVMclock, yeni sistem görüntülerinde varsayılan olarak etkindir.
- Wear emülatörlerine nabız sensörü desteği eklendi.
- libportability 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üncellemede çeşitli yeni özellikler, mevcut özelliklerde iyileştirmeler ve hata düzeltmeleri yer alıyor.
Sanal menteşe sensörü ve 3D görünüm ile katlanabilir cihaz desteği
Katlanabilir cihazlar için menteşe sensörleri desteği eklendi. Bunun için gelecekteki bir Android 11 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 hazır ayarlarıyla entegre edildi. Aşağıdakiler, örneğin 7, 3 katlanabilir AVD'nin
config.ini
dosyası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 cihazlar artık bir alt tür parametresi de içeriyor.
config.ini
hw.sensor.hinge.sub_type = hinge/fold
mülkü artık kullanılabilir. Daha fazla bilgi için Android 11 için Android Emulator ile geliştirme blog yayınını inceleyin.Menteşe sensörü artık varsayılan olarak etkindir.
Katlanabilir bir cihaz yapılandırılmışsa emülatör artık misafire menteşe açı sensörü güncellemeleri ve duruş değişiklikleri gönderir. Mevcut katlanabilir cihazlarda, araç çubuğunun katlama veya açma düğmelerine basıldığında menteşe sensörünün açısı ve duruşu güncellenir.
ARM64 ana makineleri için emülatör
Linux emülatör kaynak kodu artık x86_64'ten arm64 ana makinelere çapraz derlemeyi destekliyor. Bu sayede, KVM sanallaştırma ile arm64 sistem resimleri çalıştırılabilir. Şu anda yalnızca
-gpu swiftshader_indirect
(Swiftshader arm64 ana makine oluşturma) desteklenmektedir ancak lib64/gles_swiftshader ile değiştirilip-gpu swiftshader_indirect
ile yeniden başlatılarak uyumlu bir ana makine GPU libEGL/libGLESv2 kitaplığı grubu da kullanılabilir. Anlık görüntüler de çalışmıyor olabilir (-no-snapshot
komut satırına ekleyin). 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 için çalışmalar devam ediyor.
virtio-gpu desteği
- Yakında kullanıma sunulacak virtio-gpu ana makine uyumlu blob kaynakları için ana makine tarafında destek eklendi.
- Emülatör oluşturma işleminin işleyiş şekli nedeniyle artık virtio-gpu virtqueue'yi vcpu iş parçacığında işliyoruz (çünkü oluşturma işlemi zaten diğer iş parçacılarına aktarılıyor). virtio-gpu oluşturma işlemi, 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 bir sanal GPU tabanlı yığınla çalıştırabilecek.
Diğer yeni özellikler ve iyileştirmeler
- USB geçiş özelliği artık Windows'ta
-qemu -usb -device usb-host,vendorid=<usb-vendor-id>,productid=<usb-product-id>
kullanılarak kullanılabilir. (Bu özellik Linux ve macOS'te de zaten çalışıyor olmalıdır.) - WebRTC kitaplıkları M83 sürümüne güncellendi.
- Emülatör artık WebRTC üzerinden kapsayıcılarda ses akışını destekliyor.
- darwinn boru uç noktası kaldırıldı.
- Donanımda CUDA VPx kod çözme mevcutsa video için CUDA VPx kod çözme artık
ANDROID_EMU_MEDIA_DECODER_CUDA_VPX=1
ortam değişkeni aracılığıyla kullanılabilir. - macOS'te SSE 4.1 ve 4.2 artık Android konuğunun içinden kullanılabilir.
- INVTSC, macOS'te artık varsayılan olarak etkindir. Bu sayede, misafirden alınan zaman ölçümlerinin doğruluğu artabilir.
- Artık metriklerde kullanıcı tarafından hangi genişletilmiş kontrol panelinin seçildiğini izliyoruz.
- Linux emülatörü artık konuk çekirdek sürümü >= 5.4 (R sistem görüntüleri veya sonraki sürümler) olduğunda KVM para sanallaştırılmış saati kullanıyor.
- Emülatör artık konuk çekirdeklerinin sıkıştırmasını açmak için LZ4'ü kullanıyor. Bu sayede modern çekirdek ardışık düzeniyle uyumlu hale geliyor.
Emülatör AVD dizini, Studio'ya yerleştirilmiş kullanım alanındaki keşif dosyası yolu ve anlık görüntülerin yolunu almak için konsol komutları 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'a mevcut AVD'nin cihaz çerçevesini gizleme seçeneği ekledik. Tüm AVD'ler için cihaz çerçevelerini global olarak gizlemek amacıyla
NoDeviceFrame
özellik işaretini kullanıma sunduk. Bu işaret, emülatör komut satırından-feature NoDevice
çerçevesiyle başlatılarak etkinleştirilebilir veya~/.android/advancedFeatures.ini
dosyasınaNoDeviceFrame = on
eklenerek kilitlenebilir (Henüz mevcut değilse bu dosyayı oluşturun).Hücresel sayfasına, ölçümlülük desteğini etkinleştirmek ve devre dışı bırakmak için bir açılır menü öğesi eklendi. Bu, 5G ölçümlülük açma/kapatma düğmesini desteklemeyen eski sistem resimlerinde işlevsizdir.
- Aynı amaç için konsol komutu da eklendi:
gsm meter on|off
- Aynı amaç için konsol komutu da eklendi:
Araç zinciri / derleme C++17'ye yükseltildi.
Düzeltmeler: yerleşik emülatör
- Artık pano çalışacaktır.
- Büyük harflerin emülatörde küçük harf olarak yayınlanmasıyla ilgili sorun düzeltildi.
- Windows'ta konsol jetonunun unicode yolundan yüklenmesi düzeltildi.
- Linux'da
SO_REUSEPORT
hata mesajı düzeltildi. - gRPC üzerinden anlık görüntü komutları gönderirken ve Android Studio yerleşik emülatöründe anlık görüntü kaydet düğmesine basıldığında 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ü üzerinden yapılması durumunda
XDG_RUNTIME_DIR
değerinin ayarlanmadığı ve emülatör bulma dosyalarınınXDG_RUNTIME_DIR
içine yerleştirilmesi nedeniyle yerleşik emülatörün görünmemesine neden olabilecek bir hata olduğunu tespit ettik. Chrome sorun takipçisinde ilgili sorunun durumunu kontrol edebilirsiniz.Geçici çözüm olarak emülatör artık kullanıcı UID'sine dayalı, muhtemelen farklı bir dizinde bulunan keşif dosyalarını kullanmaya geri dönüyor:
/run/user/<uid>
.Yerleşik emülatör: Yuvarlatılmış köşeleri/çentikler olan cihazlar artık köşelere ve çentiğe yer açmak için düzenlerini düzgün şekilde değiştiriyor. Bunun için bu emülatörlerin soğuk başlatılması gerekir.
gRPC uç noktası artık cihaza SMS göndermeyi destekliyor.
Genel düzeltmeler
- Riot Vanguard etkinken Windows emülatörünü çalıştırırken uyumluluk sorunlarıyla karşılaştık. Windows emülatörü artık Vanguard anti-cheat'i algılar ve Vanguard algılanırsa bir uyarı mesajı gösterir.
- Windows'da
FD_SETSIZE
hatası düzeltildi. Döngüsel sunucularla engellenmeyen bağlantılar kurmak için artıkselect()
yerineWSAEventSelect()
kullanıyoruz. - NDK çevirisi aracılığıyla bazı ARM64 uygulamalarının çalıştırılmasına ilişkin sorunları düzelterek Linux emülatörüne F16C CPUID özellik desteği eklendi. macOS/Windows için çalışmalar devam ediyor.
- Zaman damgaları takip edilecek şekilde gpx/kml rota oynatma düzeltildi.
- MacOs'te uygulama başlatılırken sıçrayan simge düzeltildi.
hw.audioInput=no
vehw.audioOutput=no
config.ini
ise emülatör sesi artık düzgün şekilde devre dışı bırakıldı.- Genişletilmiş denetimler penceresi açıkken ancak etkin değilken emülatör penceresi simge durumuna getirilirse emülatör penceresi yeniden boyutlandırılırken genişletilmiş denetimler penceresinin gösterilmeye devam etmesiyle ilgili sorun düzeltildi. Bu davranışı (etkin genişletilmiş denetimler penceresinin bulunduğu durum) gelecekteki bir güncellemede tamamen kaldıracağız.
- Emülatör başladığında kablosuz bağlantının kurulmaması sorunu düzeltildi.
- Emülatör uzun veya süresiz zaman aşımlarıyla kabuk komutları verdiğinde çıkışta takılma sorunu düzeltildi.
-initrd
'e iletilen büyük resimleri daha iyi desteklemek için pc-bios güncellendi; önceki BIOS çok verimsiz bir yöntem kullanıyordu.-wifi-server-port
seçeneği kullanıldığında sonlandırma sırasında yaşanan kilitlenme düzeltildi.- Artık desteklenmeyen seçenekler
-prop
ile iletilirse emülatör bir uyarı yazdırıyor (Yalnızca qemu.* öğeleri desteklenir). - Windows'ta emülatör oluştururken dosyalara yazmayla ilgili kararsız hatalar görme olasılığı daha düşüktür. Daha fazla bilgi için Windows derleme talimatlarına bakın.
- Katlanabilir AVD'ler için soruna neden olan yakınlaştırma düğmesi devre dışı bırakıldı.
- Emülatör artık cihazın yeniden başlatılmasından kaynaklanan önyükleme süresini doğru şekilde bildiriyor.
- Linux: Yeterli KVM izni olmadığında emülatör artık hata ayıklama talimatlarını daha hızlı yazdırıyor.
- Emülatör'ün, hızlandırma olmadan son sistem resimlerini önyükleyememesi sorunu düzeltildi.
- Açılış tamamlandı algılayıcısından başlatıldığında bellek bozulması veya kilitlenme düzeltildi.
- Uzun ekran kaydı oturumları sırasındaki bellek sızıntısı düzeltildi.
- Emülatör simgeleri, Studio 4.1 marka kimliğini yansıtacak şekilde güncellendi.
- Windows'ta uzak oturumları algılamak için daha iyi destek eklendi.
Düzeltmeler: grafikler ve video kod çözme
- En son Asphalt 9 oyununun siyah ekranla oluşturulmasına neden olan sorun düzeltildi.
NULL
ile eşlenen arabelleğin temizlenmesi hakkındaki spam kaldırıldı.- Bir misafir Vulkan uygulaması çıktığında Vulkan durumunun kaldırılması sırasında yaşanan yarış durumu düzeltildi.
- Vulkan ASTC/ETC2 emülasyon gölgelendiricileri artık libOpenglRender kitaplığına yerleştirildi. Bu yöntem, dosya sisteminden okumaya kıyasla daha güvenilirdir.
- Vulkan'da, ana makinede Vulkan 1.0 örneğiyle çalıştırıldığında
vkGetImageMemoryRequirements2KHR
'ün, döndürülenVkMemoryRequirements2
yapısınınpNext
alanını yanlış şekilde temizlemesine neden olan sorun düzeltildi. - Vulkan oluşturma aracındaki bir bellek sızıntısı düzeltildi.
isampler2D
gibi değişken adlarına sahip GLSL ES 1.00 gölgelendiricilerin derlenemediği yakın tarihli bir gerileme düzeltildi.- ANGLE gölgelendirici çevirmeni, Linux'ta gölgelendiricilerin derlenememesiyle ilgili olası sorunları gideren çeşitli düzeltmelerle güncellendi.
- Artık bu fenomeni takip etmek için temel çerçeve kartı blit gölgelendiricisi derlenemezse emülatörü kilitliyoruz.
- ANGLE gölgelendirici çevirmeni, yayındaki ANGLE'a ayak uydurmak için güncellendi. Bu sayede, kare olmayan matrisler kullanan OpenGL ES gölgelendiricileri çevrilirken ve sabit olarak katlandığında bellek bozulmasıyla ilgili bir sorun düzeltildi. Gölgelendirici çevirmeni artık ayrı bir paylaşılan kitaplıktır (
libshadertranslator.dll
). - Bazı GPU sürücülerinde Vulkan'ın başlatılmasıyla ilgili, belirli 1.1 cihaz işlevlerinin bulunamadığı bir sorun düzeltildi.
- Vulkan: Sistem Vulkan yükleyicisinin tercih edilmesi bazı kurulumlarda soruna yol açtığı için önceden oluşturulmuş yükleyiciyi kullanmaya geri döndük. Daha iyi bir çözüm bulacağız.
- Vulkan harici belleği kullanırken ana makinede eşleşmeyen bellek türü dizinlerinin içe aktarılabileceği sorun düzeltildi.
GL_ALIASED_POINT_SIZE_RANGE
öğesinin ana makinede desteklenmediği durumlarda bu öğenin emülasyonunda yaşanan sorun düzeltildi.- Bazı ana makine GPU'larında Skia gölgelendiricilerin
GL_EXT_shader_framebuffer_fetch
ile ilgili hatalar nedeniyle derlenememesi sorunu düzeltildi. - D3D9 ANGLE oluşturma aracımızın kopyası birkaç sürüm önce kaldırıldığı için artık bu oluşturma aracını kullanan kullanıcıları, kullanıcı arayüzü tercihlerinde d3d11 ANGLE seçilmişse otomatik olarak d3d11 ANGLE'a geçiriyoruz.
- Hataları izlemek için Windows'daki WGL başlatma işlemine daha fazla hata ayıklama bilgisi eklendi.
hw.gltransport=virtio-gpu-pipe
olduğunda, ana makineden konuğa yapılan aktarımlarda ana makinenin dönmemesi sayesinde performans artar.- 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österilmemesi sorunu düzeltildi.
- libvpx'in CUDA donanım kod çözme özelliğiyle ilgili sorunlar yaşadığımız için şimdilik libvpx için yazılım kod çözme özelliğine geri döndük. Ana makine tarafında desteklenen bir CUDA donanım kod çözme uygulamanız varsa libvpx'in donanım kod çözme özelliği,
ANDROID_EMU_MEDIA_DECODER_CUDA_VPX=1
ortam değişkeni aracılığıyla yeniden etkinleştirilebilir.
30.0.10 (30 Nisan 2020)
Bu güncelleme, emülatörü doğrudan Android Studio'da çalıştırma ve varsayılan olarak Serbest Biçimli Pencere Modu etkinleştirilmiş sanal cihazlar desteğini içerir.
Android Studio'da Emülatör'ü çalıştırma
Android Emulator artık doğrudan Android Studio'da çalıştırılabilir. Ekran alanını korumak, kısayol tuşlarını kullanarak emülatör ile düzenleyici penceresi arasında hızlıca 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 Biçim Pencere Modu
Artık Android Studio'da sanal cihaz oluştururken 13,5 inçlik Freeform tablet donanım profilini seçerek Freeform 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ümün yüklü olduğu bir sistem görüntüsü gerekir.
Bilinen sorunlar
Odak pencere yöneticisine aktarma sorunları nedeniyle, serbest biçimli pencereleri yeniden boyutlandırma özelliği şu anda kullanılamamaktadır. Bu sorun, gelecekteki bir Android 11 sistem resmi sürümünde giderilecektir.
30.0.0 (19 Şubat 2020)
Bu güncelleme, Android 11 (API düzeyi 30) sistem resimlerini ve ARM ikili dosyaları çalıştırırken daha iyi performansı içerir.
Android 11 sistem görüntüleri
Artık mevcut API düzeyi 30 sistem resimlerinden birini seçerek Android 11 çalıştıran bir AVD oluşturabilirsiniz:
- x86: Hem x86 hem de ARMv7 ABI'lerini içerir.
- x86_64: x86, x86_64, ARMv7 ve ARM64 ABI'lerini içerir.
Android 9 ve 11 sistem görüntülerinde ARM ikili dosyaları için destek
Uygulamanız ARM ikililerine bağlı olduğu için daha önce Android Emulator'ü kullanamıyorsanız artık uygulamanızı çalıştırmak için Android 9 x86 sistem resmini veya herhangi bir Android 11 sistem resmini kullanabilirsiniz. ARM ikililerini çalıştırmak için artık belirli bir sistem resmini indirmeniz gerekmez. Bu Android 9 ve Android 11 sistem görüntüleri varsayılan olarak ARM'i destekler ve tam ARM emülasyonu olan görüntülere kıyasla önemli ölçüde daha iyi performans sağlar.
Bilinen sorunlar
- Bazı ARMv7 ikili dosyaları Android 11 x86 ve x86_64 sistem resimlerinde çalışmaz. Android 11'i hedeflerken ARM64 için derleme yapmayı düşünün.
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
libgcc
ile statik olarak derlenmek yerine gönderdiğimizlibgcc
DLL'yi kullanıyor. - Linux: gRPC API'ye logcat desteği eklendi. gRPC hakkında daha fazla bilgi için gRPC akış emülatörüne (Linux) bakın.
- Emülatör artık 32 bit x86 konuklar için başsız bir derleme içeriyor (
qemu-system-i386
). Bu özellik, API düzeyleri 26 ve daha düşük olan x86 32 bit resimlerinin başsız derlemeyle çalışmasını sağlar. API 27 ve sonraki sürümleri çalıştıran 32 bit x86 konuklarda, emülatör 64 bit motoru (qemu-system-x86_64
) kullanır. Bunun nedeni, bu sistem resimlerinde kullanıcı alanının 32 bit, çekirdeğin ise 64 bit olmasıdır. Android Studio, emülasyon motorlarını seçmek için çekirdeği kullanır. - Artık
ANDROID_QT_LIB_PATH
ortam değişkenini kullanarak özel Qt kitaplık yolları belirtebilirsiniz. - Artık QEMU1 yürütülebilir dosyaları (
emulator[64]-[x86|arm|etc]
) emülatör dizinine yerleştirilirse emülatörü QEMU1 kullanan önceki ikili dosyalarla çalıştırabilirsiniz. - Windows: Bazen emülatörün "vCPU kapatma isteği" mesajıyla başlatılamamasına neden olabilecek bir sorun düzeltildi.
- Vulkan'da taklit edilen sıkıştırılmış dokularda gereksiz bir ardışık düzen bariyeri ile ilgili sorun düzeltildi.
- Parçalara ayrılmış 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ının ve web kamerasının emülatörde çalışmamasıyla ilgili sorun düzeltildi.
29.0.8 (6 Mayıs 2019)
Bu güncelleme aşağıdaki iyileştirmeleri ve düzeltmeleri içerir:
- Her ekranı numaralandırmak ve ayarlamak için bir konuk hizmeti olduğunda birden fazla sanal donanım ekranı desteği eklendi. Birden fazla sanal donanım ekranı, gelecekteki bir emülatör sistem resmi güncellemesine eklenecektir.
- Yeni bir komut satırı seçeneği eklendi:
-delay-adb
. Bu seçenek, konuk soğuk önyükleme işlemini tamamlayana kadar ADB paketlerinin işlenmesini engeller. Bu seçenek, emülatörü, emülatörü yeniden başlatan ve aynı zamanda DDMS kullanan bir CI ortamında kullanırsanız ortaya çıkabilecek sorunları çözmenize yardımcı olur. glIsRenderbuffer
yanlış değeri döndürdüğü anlık görüntüler yüklenirken oluşan bir hata düzeltildi.- Android misafiri yeniden başlatıldığında eski durumla ilgili bazı sorunlar düzeltildi.
- Windows: Windows kullanıcı adında ASCII dışı karakterler veya boşluk olduğunda emülatörün başlatılmasını engelleyen sorunlar düzeltildi.
Bilinen sorunlar
- Anlık görüntüler şu anda bu sistem resimleri için desteklenmediğinden anlık görüntüler kullanıcı arayüzü, Automotive sistem resimleri için devre dışı bırakılmıştır.
29.0.6 (1 Mayıs 2019)
Bu güncellemede çeşitli yeni özellikler, mevcut özelliklerde iyileştirmeler ve hata düzeltmeleri yer alıyor.
QEMU1 ve 32 bit Windows desteğinin kaldırılması
Emülatöre daha iyi destek sunmak için artık QEMU1 ve 32 bit Windows ikili dosyaları göndermiyoruz. Windows 32 bit kullanıyorsanız 29.0.6 sürümüne yükseltemezsiniz.
Android Q sistem görüntüleri için gereksinimler
Android Q sistem resmi kullanan bir AVD çalıştırmak istiyorsanız artık 29.0.6 sürümünü (bu sürüm sürümü) veya daha yeni bir sürümü kullanmanız gerekir.
Project Marble İyileştirmeleri
Bu güncelleme, Kasım 2018'de Android Geliştirici Zirvesi'nde duyurulan Project Marble girişimi kapsamındaki çalışmalarımıza devam etmektir. Önceki sürümlerdeki diğer Project Marble iyileştirmeleri hakkında daha fazla bilgi için Android Emulator: Project Marble İyileştirmeleri başlıklı makaleyi inceleyin.
Bu güncellemede, Project Marble çalışmalarımızın çoğu emülatör kaynak kullanımını azaltmaya (ör. emülatörün boştayken CPU kullanımını azaltmaya) yönelikti. Ayrıca, emülatörle daha çeşitli ortamlarda ç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üncellemeyle birlikte sunulan Project Marble iyileştirmeleri açıklanmaktadır:
Barındırıcı ses davranışıyla ilgili iyileştirmeler
28.0.3 sürümünden itibaren emülatör, varsayılan olarak ana makineden ses girişini engeller.
Ana makinenin ses verilerini kullanmak istiyorsanız Genişletilmiş Denetimler > Mikrofon'a gidip Sanal mikrofon, ana makinenin ses girişini kullanır'ı etkinleştirerek bu seçeneği etkinleştirebilirsiniz. Bu seçenek, emülatör yeniden başlatıldığında 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, ana makine ses verilerini sırasıyla etkinleştirmek veya devre dışı bırakmak için aşağıdaki ADB komutlarını kullanabilirsiniz:
adb emu avd hostmicon
adb emu avd hostmicoff
Başsız emülatör derlemeleri için iyileştirmeler
28.0.25 sürümünden itibaren emülatör, kullanıcı arayüzü olmadan çalışabilen bir başsız derleme seçeneği içerir. Docker ve sürekli entegrasyon (CI) iş akışları için emülatör ayarlamanıza yardımcı olması amacıyla başsız derlemeleri kullanabilirsiniz.
Bu güncellemeyle birlikte, emülatörde minimum sayıda bağımlılık kullanılmasını sağlamak için daha fazla iyileştirme yaptık. Linux'da, başsız derlemeler artık pulseaudio
veya libX11
kitaplıklarını içermiyor. Emülatörle paketlenmeyen, sisteme bağımlı paylaşılan kitaplıklar aşağıdaki listeye indirildi:
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'ye yükseltildi
Bu güncelleme, Qt 5.12 LTS sürümündeki aşağıdaki iyileştirmeleri içerir:
- Belirli sistem resimlerini başlatırken Qt'nin
libpng
kod çözme işleminde kilitlenme yaşanmasını önlemek için emülatör artık PNG resimlerinin kodunu çözmek üzere kendilibpng
kopyasını kullanıyor. - Qt'ye bağımlı bazı kitaplıkların uyumlu olmayan sürümlerini içeren bazı Linux yüklemeleriyle ilgili sorunları gidermek için artık
libfreetype
,libsoftokn
,libsqlite3
velibxkbcommon
'i emülatörle 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.
Soğuk başlatmadan sonra otomatik CPU optimizasyonları
CPU kullanımını ele almak için emülatör artık boot complete
sinyali aldıktan sonra soğuk başlatmada aşağıdaki ADB komutlarını çalıştırır:
adb shell settings put screen_off_timeout 214783647
- Bu komut, ekranın kapanma zaman aşımını artırır. Böylece emülatör, şarj edilmeden pil modunda kullanılabilir. Pil modunda arka planda CPU kullanımı büyük ölçüde azaltılır.
- AC şarj modunda, uygulama güncellemeleri gibi GMSCore arka plan işlemleri, cihazın tüm CPU çekirdeklerini ve dolayısıyla kullanıcının makinesini uyarı vermeden devralabilir.
adb shell pm revoke com.google.android.googlequicksearchbox android.permission.RECORD_AUDIO
- Bu komut, Google Arama uygulamasının mikrofon izinlerini iptal eder. Bu sayede, Google Arama uygulaması etkinken ana ekranda ve başlatıcıda arka planda CPU kullanımı büyük ölçüde azaltılır.
- Bu komut, ana makine için ana makine sesini devre dışı bırakma işlemini gerçekleştiren emülatör varsayılan davranışına ek olarak çalıştırılır. Ayrıca bu, 28.0.23 sürümünden itibaren anahtar kelime algılama için açıklanan CPU kullanımı azaltma özelliğini otomatik olarak sağlar.
Performans izleme için yeni ortam değişkenleri
Artık emülatör performansının ve kaynak kullanımının ayrıntılı şekilde izlenmesini sağlamak için iki yeni ortam değişkenini 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 yerleşik toplam 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) yazdırmayı etkinleştirir.
- Bu ortam değişkenini, Windows kullanıcılarının macOS veya Linux kullanıcılarına kıyasla daha fazla takılma (atlanan kareler) yaşadığı sorunları teşhis etmeye yardımcı olmak için de kullanırız.
Project Marble'da yapılan genel iyileştirmeler
Bu güncelleme, Project Marble girişiminin bir parçası olan aşağıdaki genel iyileştirmeleri de içerir:
- Artık aşağıdaki konsol komutlarını kullanarak emülatördeki tüm sanal CPU'ları anında duraklatabilirsiniz:
adb emu avd pause
adb emu avd resume
- OpenGL çizimiyle ilgili genel giderler büyük ölçüde azaltıldı. Bu iyileştirme, emülatör animasyon oynatırken CPU kullanımını azaltır.
- Ana hat QEMU'nun e1000 sanal ağ cihazı için destek geri yüklendi. Emülatörü köprülenmiş bir ağ ortamında ayarlamak için bu cihazı kullanabilirsiniz. Köprülü bir ağ ortamında, ana makine ağı emülatörde, emülatör ise ana makine ağında gösterilir.
- Emülatörü başlatmak için artık QEMU 2.12'ye uygun BIOS ikili dosyaları kullanılıyor.
- Video kodlama ve kod çözme için
ffmpeg
sürümü 3.4.5'e yükseltildi. select()
tabanlı ana döngüyükqueue
tabanlı bir ana döngüyle değiştirerek macOS'te QEMU ana döngüsü G/Ç'sinin yükü büyük ölçüde azaltıldı.- Logcat'i emülatörle çalıştırırken beklenmedik EOF ile ilgili sorunları gidermek için Logcat tampon boyutu 2 MB'a çıkarıldı.
- Emülatör artık varsayılan olarak
LC_ALL=C
ortam değişkenini dışa aktarır. Bu değişiklik, emülatörün farklı yerel ayarlarda çalıştırılmasına bağlı kilitlenme ve uyumluluk sorunlarını giderir. - Artık Genişletilmiş Denetimler > Ayarlar > Gelişmiş > Performans İstatistikleri'ne erişerek performans istatistiklerini kullanarak emülatörün CPU ve RAM kullanımını izleyebilirsiniz. Emülatör çok fazla CPU veya RAM kullanıyorsa sorunları hızlıca teşhis etmek için bu istatistikleri kullanın.
glReadPixels GL_IMPLEMENTATION_COLOR_READ_TYPE
artık taklit edilen sonuç yerine ana GPU'nun sonucunu kullanıyor. Bu değişiklik, okunma için uygun olmayan biçim nedeniyle resimlerin ve öğelerin görüntülenmediği sorunları düzeltmeye yardımcı olur.- Barındırıcı tarafından destekleniyorsa OpenGL ES
GL_EXT_texture_format_BGRA8888
veGL_APPLE_texture_format_BGRA8888
uzantıları için destek eklendi. - Hata raporu kullanıcı arayüzüne daha fazla teşhis bilgisi eklendi. Ayrıca, aşağıdaki komutları kullanarak konsoldan hata raporlarına erişebilirsiniz:
telnet localhost 5554
avd bugreport
- Android Q sistem resimlerinde emülatör, minimum RAM boyutunu 2 GB'a çıkarır.
- OpenGL veya hipervizör başlatılamadığında daha fazla günlük kaydı ve yazdırma işlemi eklendi.
- Emülatör, AVD'nin eşzamanlı bir
-read-only
örneğini başlatamazsa 3 saniye içinde-read-only
AVD'yi 3 kez daha yeniden başlatmayı dener. Bu değişiklik, AVD'nin diğer yazılabilir örnekleri eski dosyaları temizlememişse emülatörün AVD'de eşzamanlı-read-only
örneği başlatma olasılığını artırır. - Emülatör, yakında kullanıma sunulacak sistem resimlerinde artık Donanım Bestecisi 2.0'ı destekliyor. Bu değişiklik, çoğu animasyon çalıştırıldığında sürücü yükü azaltacaktır.
- Emülatör derlemesi artık CMake/Ninja'yı temel alıyor.
- Emülatör genişletilmiş kontroller kullanıcı arayüzünde, klavye kısayolları tablosundaki ayırıcı çizgiler geri yüklendi.
- Kullanıcılar artık ekibimize 10 saniyelik aralıklarla CPU ve RAM kullanım metriklerini sağlamak için bu özelliği etkinleştirebilir. Bu metrikleri, emülatör kaynak kullanımıyla ilgili verileri kullanıcılarımızdan gelen farklı kullanım alanlarıyla zenginleştirmek için kullanırız. Bu sayede emülatörü daha verimli ve duyarlı hale getirebiliriz.
Project Marble ile ilgili genel düzeltmeler
Bu güncelleme, Project Marble girişiminin bir parçası olan aşağıdaki genel düzeltmeleri de içerir:
- Android Q sistem resimleri kullanılırken Intel GPU'lara sahip sistemlerde titreme ve yanlış kareler gösterilmesiyle ilgili sorunlar düzeltildi.
- Pixel 2 XL kaplamaları (veya çentik veya yuvarlak köşeleri olan kaplamalar) ile Android Q sistem resimleri kullanıldığında siyah ekran görüntülenmesiyle ilgili sorunlar düzeltildi.
-partition-size
komut satırı seçeneğinin veri bölümü boyutunu ayarlamamasıyla ilgili sorun düzeltildi.- Linx emülatöründeki pulseaudio'nun bazı durumlarda dönerek CPU çekirdeğinin tamamını kaplamasına neden olan sorun düzeltildi.
- Sıkıştırılmış dokular işlenirken aralık dışında bellek erişimi ile ilgili sorunlar düzeltildi.
- Belirli gralloc arabelleklerinin (RGB 565, RGB10A2, RGB(A)16F biçiminde) güncellenmesi sırasında
glTexSubImage2D
ana makinesinde oluşan GL hataları düzeltildi. - Android Q sistem resimlerinde, bildirim gölgesinin geometrisinin yanlış bir örnek bölücü ayarıyla oluşturulduğu anlık görüntülerde görüntüleme sorunu düzeltildi.
- Qt'nin sinyal kaybetmesi veya başlangıçta kararsız, tutarsız durumlara sahip olması nedeniyle, yeniden oluşturulması zor olan 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 derleyebiliyoruz. Bu araç, tekrar oluşturulması zor hataları kolayca ortaya çıkarabilir.
- Linux kullanıcıları için: Belirli ana makine çekirdeklerinde konuk Android çekirdeğinin hata verip KVM'de genel bir donanım hatasıyla çıkabileceğini tespit ettik. Artık bu durum gerçekleştiğinde emülatör, hata ayıklama kolaylığını artırmak için
abort()
olur (emülatör daha önce sadece donuyordu). - Linux kullanıcıları için: CI kurulumlarında kolaylık sağlamak amacıyla, hem
stdout
hem destderr
dosyasına yönlendirmek için yeni-stdouterr-file <file-name>
komut satırı seçeneğini kullanabilirsiniz. SO_REUSEADDR
'ün yanlış kullanılmasına neden olan sorun düzeltildi. Daha fazla bilgi için taahhüt ayrıntılarına bakın.- Windows emülatöründe, kullanıcı adında boşluk varsa ADB komutları gibi alt işlemlerin başlatılamamasına neden olan uzun süredir devam eden bir sorun düzeltildi.
- HAXM vCPU iş parçacıklarında RCU'nun başlatılmaması sorunu düzeltildi. Bu düzeltme, bazı kilitlenme ve yarış koşullarını giderebilir.
- Son Android Q sistem görüntüleri kullanılarak anlık görüntüler kullanıcı arayüzünden belirli bir şekilde kaydedilip yüklendiğinde yaşanan kilitlenme sorunu düzeltildi.
- Sanal sahne kamerasının, emülatör bir anlık görüntüden başlatılırken, söz konusu anlık görüntü kaydedilirken AR makrosu oynatılıyorsa boş görünmesi sorunu düzeltildi.
- Uzak masaüstü kurulumuna sahip bazı kullanıcıların Linux'te emülatör başlattığında siyah ekran görmesi sorunu düzeltildi. Bunu önlemek için emülatör artık
MESA_RGB_VISUAL
öğesini açıkça yapılandırıyor. Daha fazla bilgi için taahhüt ayrıntılarına bakın. - TV AVD'lerinde döndürme düğmelerinin görünmesine neden olan sorun düzeltildi.
- Emülatör her zaman en üstte ayarlandığında, emülatör her döndürüldüğünde genişletilmiş kontroller penceresinin görünmesine neden olan 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 sonraki bir sürümü kullanmanız gerekir.
AVD oluşturmak için kullanabileceğiniz iki katlanabilir donanım profili vardır:
- 7,3 inç Katlanabilir: Açıkken 1536x2152, katlanmışken 4,6 inç 840x1960
- 8 inç Katlanabilir: Açıkken 2.200x2.480, katlanmışken 6,6 inç 1.480x2.480
Bu donanım profillerinden birini kullanarak emülatörü çalıştırdığınızda, emülatör araç çubuğundaki katlama ve açma işlemlerini, konsol komutlarını veya aşağıdaki klavye kısayollarını kullanarak cihazı katlayabilir ve açabilirsiniz:
- Daralt:
Ctrl + F
(macOS'teCommand + F
) - Aç:
Ctrl + U
(macOS'teCommand + U
)
AR makroları
Emülatör artık yaygın AR işlemlerini test etmenize yardımcı olabilecek AR makroları içeriyor. Örneğin, cihazın tüm sensörlerini varsayılan durumlarına 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 resmi (Vulkan 1.1 için Android Q Beta 3 veya sonraki sürümler, Vulkan 1.0 için Android Q Beta 2) ve uyumlu bir ana GPU (2014 ve sonraki model Intel, NVIDIA ve AMD GPU'ları dahil) kullanırken Vulkan uygulamalarını Android Emulator ile Vulkan 1.1'e kadar test edebilir.
Vulkan desteğini etkinleştirmek için ~/.android/advancedFeatures.ini
dosyanıza aşağıdaki özellik işaretlerini eklemeniz gerekir (dosya yoksa 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
varyantları) hedeflerini derleyen ROM geliştiricileri artık Vulkan özellikli bir emülatör çalıştırabilir.
Bu destek hâlâ deneme aşamasındadır ve ağırlıklı olarak sistem resimleri, sürücüler ve oyun motorları üzerinde çalışan geliştiriciler içindir. Birçok uzantı hâlâ eksik.
Ancak HOST_COHERENT
bellek desteklenir ve artık Vulkan API Eğitim Örnekleri'ni ç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ı aracılığıyla OpenGL ile sıfır kopyalama birlikte çalışabilirliğini de destekler. Emülatör, Skia Vulkan API'lerini kullanarak Android kullanıcı arayüzünü oluşturmanın eksiksiz bir yolunu sunmak için bu özellikten yararlanır.
Vulkan'ı destekleyen bir NVIDIA veya AMD GPU'nuz varsa Skia oluşturma işlemini uyumlu bir sistem görüntüsüyle (Android Q Beta 3 ve sonraki sürümler) 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 Swiftshader, MoltenVK ve libportability (gfx-rs) API'leri zaten mevcuttur. Aşağıdaki ortam değişkenlerini ayarlayarak bu API'leri deneyebilirsiniz:
- Swiftshader:
ANDROID_EMU_VK_ICD=swiftshader
- MoltenVK:
ANDROID_EMU_VK_ICD=moltenvk
- libportability:
ANDROID_EMU_VK_ICD=portability
Bilinen sorunlar
HAXM bazen Vulkan tutarlı belleğini konuğa eşleyemez ve emülatörü kapatır. Bu sorun, yakında yayınlanacak bir HAXM güncellemesinde ele alınacaktır.
gRPC akış emülatörü (Linux)
Çalışan bağlamların en geniş yelpazesinde 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 uzun süredir aşağıdaki sorunlarla karşılaşıyor:
- Emülatöre programatik olarak giriş komutları göndermek, yüksek ek maliyete neden olabilecek adb kabuğu komutlarını çalıştırmayı veya daha hızlı olan ancak belirli ağ yapılandırmalarıyla çalışmayabilecek telnet konsolunu kullanmayı içerir.
- CI kullanıcıları genellikle emülatörleri başsız olarak çalıştırır. Bu da ekranın görünür veya etkileşimli olmasını gerektiren sorunların fark edilmesini zorlaştırabilir.
- GPU oluşturma genellikle ana makinenin sanal olmayan ekranlarına bağlı olduğundan uzak masaüstü kullanıcıları, ana makine GPU oluşturma özelliğini kullanırken genellikle emülatörle etkileşim kuramaz.
Bu sorunu gidermek için emülatör, Linux makinesinde çalışırken artık bir gRPC hizmeti sunar. gRPC , HTTP üzerinden çalışan RPC için genel bir çerçevedir.
Emülatör gRPC hizmeti varsayılan olarak devre dışıdır ancak aşağıdaki komut satırı seçeneğini kullanarak hizmeti etkinleştirebilirsiniz. Bu seçenekte <port>
, emülatörün gRPC isteklerini sunması gereken bağlantı noktasıdır (genellikle 5556
):
-grpc <port>
Hizmet başladıktan sonra istemcilerden gRPC komutları gönderilebilir. Mevcut komut grubu hem giriş etkinlikleri göndermeye hem de ekran görüntüleri almaya olanak tanır. Bu komutlar aşağıdaki sorunları gidermenize yardımcı olur:
- Giriş komutları, HTTP üzerinden düşük ek yük ile emülatöre gönderilebilir. HTTP, komutların ek ağ yapılandırmalarında da gönderilmesini sağlar.
- Emülatör başsız çalışıyor olsa bile mevcut ekranı sorgulamak için ekran görüntüsü komutları gönderilebilir. Etkileşimli olması için giriş etkinlikleri emülatöre geri de gönderilebilir.
- Uzak masaüstü kullanıcıları, GPU hızlandırmalı oluşturma ile ana ekranda başsız bir şekilde emülatör çalıştırabilir ve gRPC'yi kullanarak ekran görüntüsü alabilir ve emülatörle etkileşim kurmak için giriş etkinlikleri gönderebilir.
Kullanılabilir komutların tam listesi için bu protobuf dosyasını inceleyin.
gRPC'yi kullanmaya başlamanıza yardımcı olmak için referans olarak kullanabileceğiniz bazı örnek istemciler sağladık.
Şu anda aşağıdaki örnekler bu kapsamdadır:
- Emülatör durumlarını sorgulamak için kullanılabilen Go tabanlı bir hizmet.
- Ekran görüntüsü ve giriş RPC'leri aracılığıyla uzaktan etkileşimi gösteren bir React uygulaması. Bu örnek için protobuf 3.7.0 veya sonraki bir sürüm gerekir.
- Emülatör'ün sanal makine yapılandırmasını sorgulayan ve ardından 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özetimli olmayan emülatör derlemesi
Sistemin, ortak kitaplık bağımlılıkları ile birlikte Qt'yi destekleyebileceğine dair zımni beklentiler (diğer sorunlar arasında) nedeniyle, emülatör Docker ve diğer sürekli entegrasyon (CI) iş akışlarıyla ayarlanmakta zorluk yaşanıyordu.
Bu sorunu gidermek için ilk adım olarak, Qt'ye bağlı olmayan QEMU yürütülebilir dosyalarını içeren emülatör başlatıcısının bir varyantını kullanıma sunduk. Linux'da libX11
bağlantısı hâlâ mevcut olsa da bunu da yakında kaldırmayı umuyoruz.
Başsız emülatörü kullanmak için emülatörü her zamanki gibi komut satırından çalıştırın ancak emülatör ikili çağırmasını emulator-headless
ile değiştirin. Daha fazla bilgi için 28.1.8 Canary sürüm güncellemesini inceleyin.
- Android Q sistem resimleri çalıştırıldığında Intel GPU'larda titreme ve yanlış kare görüntüleme sorunu düzeltildi.
- Pixel 2 XL kaplamaları ile Android Q sistem resimleri kullanıldığında siyah ekran görüntülenmesine neden olan sorunlar düzeltildi.
- Emülatörü başlatmak için artık en son BIOS ikili dosyaları kullanılmaktadır. Bu değişiklik, Windows'ta emülatör başlatılırken bazen ortaya çıkan "vCPU kapatma isteği" hatalarının azaltılmasına yardımcı olabilir.
- "Android Q sistem resimlerini anlık görüntüden devam ettirirken yanlış görüntüleme" sorunu için bir düzeltme geriye bağlandı.
- Kullanıcılar, platform-tools 28.0.2'de ADB'de yapılan uyumsuz bir değişiklik nedeniyle "yetkisiz" emülatör sorunları yaşıyordu. Artık platform-tools 28.0.2'den emülatörle ADB'yi 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/adbkey
hem de~/.android/adbkey.pub
dosyalarını silin. - Aşağıdaki komutu çalıştırın:
adb kill-server
- Aşağıdaki komutu çalıştırın:
adb devices
- AVD verilerini silin.
- 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:
Toplantı sahibinin ses girişi varsayılan olarak devre dışıdır.
Reddit'te yakın zamanda yayınlanan bir gönderide, misafir Android OS'in ana mikrofonun sesini her zaman nasıl kullanacağı ve böylece "Ok Google"ın beklenmedik bir şekilde nasıl çalışacağı ayrıntılı olarak açıklanıyordu. Bu durum için özür dileriz. Sistem görüntüsünde de özel kelime algılamanın devre dışı bırakılması için Android ekibiyle birlikte çalışacağız.
Bu sorunu gidermek için aşağıdaki değişiklikleri yaptık:
- Gerçek toplantı sahibi ses verileri artık varsayılan olarak azaltılır. Misafir mikrofonu kullandığında, ev sahibinin sesi yerine sessizlik aktarılır.
- Toplantı sahibinin ses verilerini kullanmak istiyorsanız Genişletilmiş Kontroller > Mikrofon'a gidip Sanal mikrofon, toplantı sahibinin ses girişini kullanır'ı etkinleştirerek bu seçeneği etkinleştirebilirsiniz. Bu seçenek, emülatör her yeniden başlatıldığında otomatik olarak devre dışı bırakılır.
CPU kullanımıyla ilgili incelemelerle 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 ayrıldığını fark ettik:
Boştayken: Play Store resimlerinde otomatik uygulama güncellemeleri
Kullanıcı giriş yapmamış olsa bile yüklü tüm uygulamaların rastgele aralıklarla güncellendiğini tespit ettik. İşlem sırasında, GMSCore ve dex2oat'ta CPU kullanımı, çekirdek sayısı x %100'e (genellikle ~%400) ayarlanır. Play Store uygulamasında otomatik uygulama güncellemelerini devre dışı bırakarak bu sorunu azaltabilirsiniz.
Boştayken: Özel kelime algılama
Ana ekrandayken ve ön planda herhangi bir uygulama yokken çok fazla CPU kullanımı olabilir (%50'ye kadar ani artışlarla yaklaşık %25). Bu durum, ana makineyi sürekli olarak pingleyen özel kelime algılamasından kaynaklanır. CPU maliyeti temel olarak düzenleyen cihazdan konuğa ses aktarımına harcanan zamandan kaynaklandığından, düzenleyen cihazın ses girişini devre dışı bırakarak bu sorunu azaltamazsınız. Ancak Google uygulamasından mikrofon izinlerini iptal ederek bu sorunu azaltabilirsiniz.
Etkinken ve bazen boştayken: Animasyonlar
Yüksek CPU kullanımının üçüncü kaynağı animasyonlardır. Grafik sürücü yığınını optimize ederek, emülatör boşta değilken bile CPU kullanımını azaltabileceğimizi tespit ettik. Grafik sürücü optimizasyonlarını Project Marble kapsamında kademeli 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 Hızlı Başlatma'da kaydedildiğinde yeniden başlatılmasına veya çekirdek paniğine neden olan uzun süredir devam eden bir sorun düzeltildi. (Sorunun numarası: 120951634)
- RAM anlık görüntüsü olarak eşlenmiş bir dosya kullanıldığında emülatör artık çıkışta dosya eşlemesini açıkça kaldırıyor.
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 modellerinde anlık görüntü yüklenirken emülatörün donmasına neden olan sorun düzeltildi.
- Standart olmayan bir
ANDROID_SDK_HOME
konumu kullanıldığındaunauthorized
ADB cihaz durumuna neden olan sorun düzeltildi. - Windows'ta, CPU hızlandırması devre dışıyken sistem resimleri başlatılırken emülatörün kilitlenmesine neden olan bir sorun düzeltildi.
- Pikselli emülatör ekran sorunu düzeltildi. Örneklerin azaltılması artık çalışmalıdır.
- macOS 10.14 ve sonraki sürümlerde, sanal sahne kamerası fareyle bakma kontrolünün yeni erişilebilirlik güvenlik ayarlarıyla etkileşime girmesi nedeniyle çok hassas hale gelmesi sorunu düzeltildi.
- Saat dilimi hesaplamasında, emülatör saatinin ara sıra değişmesine neden olabilecek bir hata düzeltildi.
- Çeşitli cocos2d ve Unreal Engine uygulamalarındaki oluşturma hataları düzeltildi.
- Emülatöre eşler arası kablosuz ağ desteği eklendi.
En son Pie Play Store resmi kullanılıyorsa iki emülatör artık doğrudan kablosuz bağlantı üzerinden birbirleriyle konuşabilir. Eşler arası kablosuz ağ bağlantısını kullanmak için aynı
-wifi-server-port
ve-wifi-client-port
bağı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
- Uyumlu olmayan çerçeve boyutlarını alıp Android konuk cihazındaki kamera ayarına uyacak şekilde dinamik olarak yeniden boyutlandırarak Windows'ta daha fazla web kamerası desteği eklendi.
28.0.16 (Kasım 2018)
Bu güncellemede çeşitli yeni özellikler, mevcut özelliklerde iyileştirmeler ve hata düzeltmeleri yer alıyor.
Kaynak kullanımı
Emülatör artık, özellikle API düzeyi 28 veya daha yüksek olan sistem resimleri kullanıldığında genel olarak daha az RAM kullanıyor. Bu sistem resimleri, konuk taraflı grafik sürücüleri için iyileştirilmiş bellek kullanımı içerir.
Ayrıca, aşağıdaki alanlarda da kaynak kullanımını iyileştirdik:
- Uzun süren testler sırasında emülatör bellek kullanımı azaltıldı. Uzun süren testler sırasında bellek kullanımıyla ilgili sorun yaşamaya devam ederseniz lütfen Issue Tracker'da kullanım alanınızı açıklayan bir sorun oluşturun.
- Animasyonlu uygulamalar çalıştırırken CPU kullanımı azaltıldı.
- Windows'ta QEMU AIO bağlamının sızabileceği bir 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şlatabilir ve bunları eşzamanlı olarak çalıştırabilirsiniz. İlk örnekten sonra başlattığınız örnekler salt okunurdur ve misafir sanal diskte yaptıkları değişiklikler çıkışta atılır.
Aynı AVD'nin birden fazla örneğini aynı anda çalıştırmak için ilk örnekten sonra -read-only
işaretini kullanarak komut satırından diğer örnekleri başlatın.
Bu özellik, Android görüntüsünün yazılabilir bölümleriyle ilişkili QCOW2 dosyalarının kopyalanması sayesinde kullanılabilir. Disk alanını yönetmenize yardımcı olmak için birden fazla örnek başlatmadan önce QCOW2 dosyalarını önceden bağlamanıza olanak tanıyan qemu-img
komut satırı aracını da pakete ekledik.
Ayrıca, Dosya destekli konuk RAM anlık görüntüleri özelliğiyle birlikte kullanıldığında birden fazla AVD örneği, yazma sırasında kopyalama konuk RAM'i için ortak bir kaynak olarak birincil AVD Hızlı Açılış anlık görüntüsünü paylaşır. Bu özellik, örneklerin RAM'lerinin büyük bir kısmını ortak olarak kullandığı anlamına gelir. Birden fazla cihazın paralel olarak çalışmasını gerektiren testleri çalıştırmak için bu özelliği kullanın.
Normal etkileşimli veya CI iş akışınızın parçası olan olası kullanım alanları hakkındaki geri bildirimleriniz bizim için değerlidir. Lütfen IssueTracker'da sorun kaydı oluşturun veya mevcut sorunlara oy verin.
Dosya destekli konuk RAM anlık görüntüleri
Misafir RAM'i önceden ayırıp dosya olarak eşleyerek emülatör artık tüm işi çıkışta yapmak yerine çalışma sırasında Hızlı Başlatma anlık görüntülerini kaydedebilir. Şu anda emülatörlerinizi kapatırken uzun kaydetme süreleri yaşıyorsanız Hızlı Başlatma performansınızı iyileştirmek için bu özelliği etkinleştirin. Varsayılan olarak, çıkışta bir Hızlı Açılış anlık görüntüsü kaydedilir ve gerçek bir cihazı askıya alıp uyandırırken olduğu gibi her seferinde yeniden yüklenir.
Android konuk RAM'i artık varsayılan olarak otomatik olarak kaydedildiği için bir cihaz durumu tanımlamak ve bu durumdan tekrar tekrar yükleme yapmak istiyorsanız her oturumdan sonra değişiklikleri silmesini emüle edebilirsiniz. Bunu aşağıdaki yöntemlerle yapabilirsiniz:
- Emülatörü komut satırından başlatırken
-no-snapshot-save
veya-read-only
işaretlerini kullanın. - Genişletilmiş Denetimler > Anlık Görüntüler > Ayarlar'a gidin ve Mevcut durumu Hızlı Başlatma'ya otomatik olarak kaydetme ayarını Hayır olarak değiştirin.
- Bu seçeneği belirledikten sonra emülatörü yeniden başlatmanız gerekir. Emülatör otomatik kayda ayarlanmışsa bir kontrol noktası ayarlamak için aşağıdaki komutu çalıştırabilirsiniz:
Bu komutu çalıştırdıktan sonra emülatör Hızlı Açılış anlık görüntüsü bu kontrol noktasında kalır. Emülatörü kontrol noktasından yüklemek için aynı komutu tekrar çalıştırın.adb emu avd snapshot remap 0
Snapshots kullanıcı arayüzü aracılığıyla çekilen ve yüklenen anlık görüntüler, dosya eşleme olmadan eskisi gibi çalışır.
Bu, Hızlı Başlatma'nın işleyiş şekliyle ilgili büyük bir değişiklik olduğundan, Hızlı Başlatma performansını iyileştirip iyileştirmediği ve bu özelliği kullanırken ne tür sorunlarla karşılaştığınız konusundaki geri bildirimlerinizi öğrenmekten memnuniyet duyarız. Sorun yaşıyorsanı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öneticisindeki bir anlık görüntüden başlatarak) emülatör hem Hızlı Başlatma anlık görüntüleri için otomatik kaydetmeyi hem de çıkışta Hızlı Başlatma anlık görüntülerini kaydetmeyi devre dışı bırakır. Bu, Hızlı Başlatma anlık görüntüsünün yanlışlıkla üzerine yazılma olasılığını azaltır ve dosya destekli Hızlı Başlatma anlık görüntülerini kullanmayan yavaş yedek yolların kullanılmasını önler.
QEMU 2.12
QEMU varyantımızı QEMU 2.9'dan QEMU 2.12'ye taşıdı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 Emulator'u etkileyen önemli değişikliklerden bazıları şunlardır:
- x86:
gdbstub
artık SSE kaydedicilerine erişim sağlıyor. - Disk görüntüleri: Resim kilitleme özelliği varsayılan olarak eklenir ve etkinleştirilir. Ana makine OFD veya posix kilitleme özelliğini 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 özelliği artık
qemu
veqemu-img
sürümlerinde destekleniyor.
Erişilebilirlik
- Ekran okuyucularla ilgili sorunlar düzeltildi ve ekran kaydı ile ekran görüntüsü kullanıcı arayüzüne bu araçlar için daha iyi destek eklendi.
- Hızlı Başlatma bildirim simgelerini renk körlüğü olan kullanıcılar için daha erişilebilir hale getirdik.
Grafik
- OpenGL ES köşe listesi işaretçileri için ortaya çıkabilecek aralık dışında bellek erişimi sorunu düzeltildi.
- Bazı eski GPU'lar OpenGL 2.1 veya sonraki sürümleri (zorunludur) desteklemez veya başka güvenilirlik sorunları yaşar. Bu sorunlar, emülatörün başlangıçta kilitlenmesine, donmasına veya varsayılan GPU ayarıyla kullanılamamasına neden olabilir. Emülatör artık bu GPU'ların kullanıldığını algılarsa otomatik olarak Swiftshader oluşturma aracına geçer.
eglSwapBuffers
sırasındaFBO != 0
bağlanırsa emülatörün doğru çerçeve önbelleğini yayınlamamasına neden olan sorun düzeltildi.- Sanal Android ekranının yalnızca sol üst köşede gösterilmesiyle ilgili sorun düzeltildi. Bunun nedeninin, yanlış yapılandırılmış Qt ortam değişkenleri olduğunu düşünüyoruz. Emülatör artık Qt ölçeklendirmeyle ilgili tüm ortam değişkenlerini geçersiz kılar.
- GLES1 uygulamalarını anlık görüntüden yüklerken emülatörün bazı durumlarda kilitlenmesine neden olan sorun düzeltildi.
- OpenGL'de ve oluşturma iş parçacıklarını başlatırken, iki kez serbest bırakmaya veya bozuk verilere neden olabilecek eşzamanlılık sorunları düzeltildi.
- Android Emulator artık API düzeyi 28 veya sonraki sürümleri kullanan sistem resimleri için ASTC LDR sıkıştırılmış doku desteğini (
GL_KHR_texture_compression_astc_ldr
) destekliyor. - Çoğu modern GPU artık
GLESDynamicVersion
özellik işaretini kullanmadan OpenGL ES 3.x'in varsayılan olarak etkin olduğu bir emülatör başlatabilmelidir. -gpu guest
(misafirde yazılım oluşturma) desteği sonlandırıldı. API seviyesi 28 veya sonraki sürümler için sistem resimleri artık otomatik olarak bunun yerine Swiftshader'ı kullanmaya (-gpu swiftshader_indirect
) geçiyor.- Emülatör,
-no-window
işareti kullanılarak komut satırından başlatılırsa varsayılan oluşturma aracı artık Swiftshader'dır.
Konum
- Emülatör artık enlem ve boylam konumuyla birlikte yön bilgisini de güncelleyebilir. Manyetometre sanal sensörü, GPX veya KML dosyası oynatılırken hareketi tahmin ederek kendisini manyetik kuzeye göre dinamik olarak ayarlar.
- Cihaz hızı artık Konum sayfasından ayarlanabilir.
- GPX veya KML dosyası oynatıldığında hız otomatik olarak ayarlanır ve oynatma sona erdiğinde sıfıra ayarlanır.
- İrtifa artık -1.000 ile +10.000 metre arasında olmakla sınırlı değildir.
- Genişletilmiş Denetimler penceresi en az bir kez açılmadığı sürece sanal GPS konumunun düzenli olarak güncellenmemesine neden olan sorun düzeltildi.
Kamera
Emülatör, web kamerasından yayınlanan kamera karelerini dinamik olarak yeniden boyutlandırdığından Windows'da artık daha fazla web kamerası destekleniyor. Bu özellik, kare yayınlamasındaki hataların emülatörde takılmaya neden olmasını da önler.
Play Store
Play Store resimlerinde disk alanının tükenmesiyle ilgili sorunları gidermek için emülatör, yeni bir Play Store AVD ile çalıştırıldığında artık kullanıcı verileri bölümünü otomatik olarak 6 GB'a yeniden boyutlandırıyor.
Genel kalite iyileştirmeleri ve düzeltmeleri
- Bazı kullanıcılar, emülatörünün yavaş çalıştığını bildirdi. Emülatör için geçici dizinin çok fazla eski dosya içermesinin olası bir nedenini tespit ettik. Çözüm olarak, emülatör artık ADB canlılık kontrolü dosyalarını bu dizinde saklamıyor. Ancak 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:
- Emülatör, yetersiz boş RAM nedeniyle başlatılamazsa artık bir hata mesajı gösteriliyor. Windows kullanıyorsanız ve boş RAM olduğunu fark etmesine rağmen emülatör hâlâ başlatılamıyorsa taahhüt ücreti aşılmış olabilir. Bu sorunla ilgili yardım için emülatör Sorun giderme sayfasına bakın.
-sysdir
komut satırı seçeneği artık varsayılan sistem resim dizini için doğru şekilde geçersiz kılma işlemi gerçekleştiriyor.- Sanal modem artık model etkinlik bilgileri
+MAI
sorgusunu desteklemektedir. - Bellek sızıntısı, bellek bozulması ve CPU kullanımıyla ilgili çeşitli sorunlar düzeltildi. Kilitlenme, bellek sızıntısı veya yüksek kaynak kullanımıyla ilgili sorun yaşıyorsanız lütfen Sorun Takip Aracı'nda bir sorun kaydı oluşturun.
- macOS 10.14'te tekrar ortaya çıkan ve emülatörle Bluetooth kulaklık kullanıldığında sesin genel olarak bozulmasına neden olan sorun düzeltildi. Bunu önlemek için emülatör artık macOS'te çalışırken Bluetooth ses kullanmamaya başladı. (Sorunun numarası: 37070892)
- Windows'da, emülatör saatinin doğru saat diliminde olmaması sorunu düzeltildi.
- Dönen sabit disklerin (HDD) bulunduğu Linux sistemlerinde emülatör yavaşlığı ve donma sorunu düzeltildi.
- macOS'te yığın bozulmasına neden olabilecek bazı derleme uyarıları düzeltildi.
- Kilitlenmeyle ilgili yanıltıcı raporlara neden olabilecek sorunlar düzeltildi.
- Mesaj dizilerinden biri başarıyla oluşturulmazsa kilitlenmeye neden olabilecek mesaj dizisi havuzlarının yok edilmesiyle ilgili sorun düzeltildi.
- macOS'te zamanlayıcıların güvenilirliğini yitirmesi, donmalara ve diğer garip davranışlara neden olan bir sorun düzeltildi. macOS'te emülatör donuyorsa lütfen Sorun Takip Aracı'nda bir sorun kaydı oluşturun.
- Emülatörün kapatılmasıyla kullanıcı arayüzünün devre dışı bırakılmasına ancak emülatörün kapatılmamasına neden olan sorun düzeltildi.
- Çok fazla
/dev/urandom
örneği açılması nedeniyle iptal etme dahil olmak üzere ara sıra kilitlenmelerle ilgili sorunlar düzeltildi. - ADB zorla sonlandırılırsa emülatör ilk çalıştırmanın ardından başlatılamamasına neden olan sorun düzeltildi.
- MIPS derlemesi kaldırıldı. Hâlâ MIPS'e ihtiyacınız varsa lütfen Sorun Takip Aracı'nda bir sorun kaydı oluşturun.
- ADB bağlantılarının, anlık görüntü yüklenirken bozulmasına neden olan sorun düzeltildi.
- Cihaz oryantasyonunun AVD'nin varsayılan oryantasyonundan farklı olduğu bir anlık görüntüye devam edildiğinde emülatör penceresinde art izi veya ekran dışına ışınlanma sorunu düzeltildi.
- Anlık görüntü kaydederken kilitlenmeyle ilgili sorunlar düzeltildi.
- Linux'da, emülatör otomatik olarak anlık görüntüleri kaydettiği ve sanal disk cihazları için yazma sırasında kopyalama özelliğini kullandığından btrfs dosya sistemleri aşırı yavaşlamalara neden olabilir.
~/.android/avd
dizinini temizlemenizi ve boş~/.android/avd
dizininde aşağıdaki komutu çalıştırmanızı öneririz: Bu işlem, yazma sırasında kopyalama özelliğinin devre dışı bırakıldığı bir klasörde yeni anlık görüntüler oluşturur.chattr +C
HAXM 7.3.2
En son sistem görüntülerinin emülatörde düzgün şekilde çalışabilmesi için HAXM 7.3.2'nin yüklenmesi gerektiğinden bu sürümden tekrar bahsetmek istiyoruz. HAXM 7.3.2, Kararlı kanalda zaten mevcuttur ve https://github.com/intel/haxm/releases adresinden manuel olarak da yüklenebilir.
HAXM'in bu sürümünün çözdüğü sorunlardan bazıları şunlardır:
- Son sürüm Linux çekirdeği (>= 4.6) kullanan konuk işletim sistemlerinin rastgele kilitlenmesi düzeltildi. Örneğin, Ubuntu 18.04 (#39, #74).
- Ana makinenin kilitlenmesine neden olabilecek bir x86 talimat emülatör hatası düzeltildi (#93).
32 bit Windows desteğinin sonlandırılması
Düşük kullanım ve yüksek bakım maliyetleri nedeniyle, Windows'ta ç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 kullanımdan kaldırılmasından ve desteğinin sonlandırılmasından önce bir geçiş planı yayınlayacağız. Ancak bu gelecekteki değişiklikle ilgili geri bildirimlerinizi veya endişelerinizi öğrenmek istiyoruz.
Şu anda Windows'ta çalışan Android Emulator'ün 32 bit sürümünü kullanıyorsanız lütfen Sorun Takip Aracı'nda bize bildirin ve ileride sizinle en iyi şekilde nasıl çalışabileceğimizi bize bildirin.
27.3.10 (Ağustos 2018)
Bu güncelleme aşağıdaki hata düzeltmesini içerir:
RAM boyutu yapılandırma düzeltmesi
Bazı kullanıcılar, emülatörünün yavaş çalıştığını bildirdi. AVD'nin config.ini
dosyasında AVD RAM boyutunun yanlış ayarlanmasının olası bir nedenini tespit ettik.
Bu sorunu azaltmak için emülatör, API düzeyi 26 veya sonraki sürümleri kullanan resimlerin minimum RAM düzeyini Android Studio'nun varsayılan düzeyi olan 1.536 MB'a yükseltir. AVD'nizin config.ini
dosyası hw.ramSize
'i megabayt cinsinden listelemiyorsa lütfen Sorun İzleyici'de bir sorun kaydı oluşturun.
config.ini
dosyasını aşağıdaki 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 Hypervisor Platform için iyileştirilmiş hata mesajları
Bazı kullanıcılar, bir WHPX emülatörünü etkinleştirdiklerinde Windows Hiper Yönetici Platformu'nun (WHPX) neden başlatılamadığını teşhis etmekte zorluk yaşıyordu. Bu sorunları teşhis etmenize yardımcı olmak için daha bilgilendirici hata mesajları ekledik. -verbose
işaretini kullanarak emülatörü komut satırından çalıştırarak bu hata mesajlarını etkinleştirebilirsiniz.
Genel düzeltmeler
- Kamera uygulamasında anlık görüntü yüklenirken oluşan OpenGL hataları düzeltildi.
27.3.8 (Temmuz 2018)
Bu güncellemede çeşitli yeni özellikler, mevcut özelliklerde iyileştirmeler ve hata düzeltmeleri yer alıyor.
Ekran görüntüleri
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şlattığınızda hangi kayıtlı anlık görüntünün yükleneceğini seçebilirsiniz.
Android Studio 3.2 Canary 13'ten itibaren her cihaz yapılandırmasında, sanal cihaz yapılandırması iletişim kutusunun gelişmiş ayarlarında, AVD'yi başlatırken hangi AVD anlık görüntüsünün yükleneceğini belirtebileceğiniz bir kontrol bulunur.
Snapshot özelliklerinin bu genişletmesini karşılamak için Genişletilmiş kontroller iletişim kutusuna bir Snapshot'ler kategorisi ekledik. Bu yeni bölmede, daha önce Ayarlar bölmesinde bulunan hızlı önyükleme anlık görüntüsünü kaydetme ve yükleme kontrolleri de dahil olmak üzere AVD anlık görüntülerini kaydetme ve yükleme kontrolleri bulunur.
Kayıtlı 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 başlıklı makaleyi inceleyin.
HAXM 7.2.0
HAXM 7.2.0 artık tüm kanallarda kullanılabilir.
Bu güncellemede hata düzeltmeleri ve büyük miktarlarda RAM için iyileştirilmiş destek yer almaktadır. Ayrıca bu HAXM güncellemesi ve 27.3 ve sonraki sürümlerin Emülatör'ünde, sanal cihaz başlatıldığında anlık görüntülerin tamamı yerine içerikleri RAM'e isteğe bağlı olarak yüklenir. Bu değişiklik, anlık görüntüyü yüklemek için gereken süreyi önemli ölçüde azaltacaktır.
Ayrıntılar için Sanal makine hızlandırmasını yapılandırma başlıklı makaleyi inceleyin.
27.2.9 (Mayıs 2018)
Bu güncellemede çeşitli yeni özellikler, mevcut özelliklerde iyileştirmeler ve hata düzeltmeleri yer alıyor.
Ekran kaydı
Artık Android Emulator'da video ve ses kaydedip kaydı WebM veya animasyonlu GIF dosyasına kaydedebilirsiniz.
Ekran kaydı kontrolleri, Genişletilmiş Kontroller penceresinin Ekran kaydı sekmesinde bulunur.
İpucu: Ekran kaydı denetimlerini Ctrl + Üst Karakter + R (Mac'te Komut + Üst Karakter + R) tuşlarına basarak da 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 kontrolleri Ekran kaydı sekmesinin alt kısmında yer alır. Videoyu kaydetmek için sekmenin alt kısmındaki menüden WebM veya GIF'i seçin ve Kaydet'i tıklayın.
Komut satırında aşağıdaki komutu kullanarak da emülatörden ekran kaydı kaydedip 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üsü 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
ARCore ile artırılmış gerçeklik uygulamalarını (AR) geliştirmek ve test etmek artık yeni sanal sahne kamerasıyla daha da kolay. Bu kamera, AR deneyiminizi sanal bir ortamda denemenize olanak tanır.
Sanal sahne kamerasını emülatörde kullanma hakkında bilgi edinmek için Android Emulator'da AR uygulamalarını çalıştırma başlıklı makaleyi inceleyin.
Pixel cihazlardaki Google Play Store resimleri
Google Play Store artık Pixel ve Pixel 2 cihaz resimleri için etkinleştirildi. Bu durum, Android Studio 3.2 ve sonraki sürümlerdeki AVD Yöneticisi'nde Play Store sütununda Google Play logosuyla belirtilir. Google Play Store'un etkin olduğu AVD'lerde, Genişletilmiş denetimler iletişim kutusunda cihazdaki Google Play Hizmetleri'ni güncellemek için kullanışlı bir düğme sağlayan bir Google Play sekmesi bulunur.
Ekran görüntüleri
Artık emülatörü yeniden başlatmadan hızlı önyükleme anlık görüntüsünü yükleyebilirsiniz. Anlık görüntü yüklemek için Genişletilmiş Denetimler 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 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. Kaydetme işleminin normalden uzun sürmesi sorunu devam ediyorsa lütfen CPU, RAM ve çalışan antivirüs / güvenlik duvarı/güvenlik yazılımı ayarlarınızla ilgili ayrıntıları sağlayarak sorun kaydı oluşturun.
Skia ile oluşturma
API 27 veya sonraki sürümler için resimler kullanıldığında emülatör, Android kullanıcı arayüzünü Skia ile oluşturabilir. Bu sayede daha sorunsuz ve verimli bir oluşturma işlemi gerçekleştirilebilir.
Skia'yı kullanmak için şu anda açıkça etkinleştirmeniz gerekir.
Skia oluşturma özelliğini etkinleştirmek için adb kabuğunda aşağıdaki komutları kullanın:
su setprop debug.hwui.renderer skiagl stop start
Kamera
Windows'ta Android Emulator artık web kamerası arka ucu olarak Media Foundation'u kullanıyor. Bu sayede web kamerası yakalama performansı ve kare hızı 720p 30 FPS'ye kadar büyük ölçüde artıyor.
Mac'te artık webcam0 ve webcam1'i birlikte kullanabilirsiniz.
Çeşitli
-phone-number-prefix
komut satırı seçeneği, telefon numarasının tam olarak ayarlanmasına olanak tanıyan -phone-number [number]
olarak değiştirildi.
Artık alfanümerik SMS adreslerini kullanabilirsiniz.
Düzeltmeler
- Android Emulator'ün Linux sürümü artık modern bir Clang C++ araç zinciri kullanılarak derleniyor. Bu değişiklik, libGL ve libstdc++ hataları nedeniyle emülatörün başlatılamamasına neden olan sorunu düzeltir.
- Kilitlenme ve donma sorunlarının birkaç nedeni düzeltildi.
- Yeterli boş disk alanı olmaması nedeniyle kilitlenme ve donma yaşanmaması 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şlatılmaz.
- Bazı Unity oyunlarının oluşturulmasını engelleyen 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 aracılığıyla bir AVD'ye ayrılan dahili depolama alanındaki değişikliklerin çalışmamasına neden olan sorun düzeltildi.
- Çok sayıda adb sürecinin oluşturulmasına ve düzgün şekilde kapatılmamasına neden olan sorun düzeltildi.
- Genişletilmiş kontroller 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ığı sürece ana makineden kopyalama ve yapıştırma işleminin çalışmamasına neden olan bir sorun düzeltildi.
- Çerçevesiz emülatörde, 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 şekilde devre dışı bırakılıyor.
- Bir anlık görüntü yüklendikten sonra SMS ve hücresel işlevinin devre dışı bırakılmasına neden olan sorun düzeltildi.
- Artık
“Unable to open... \pstore.bin. Permission denied.”
- Bazı Mac ekranlarında AVD'nin yeniden konumlandırılmasını engelleyen sorun düzeltildi.
- Pixel 2 XL kaplamalarına sahip AVD'ler çalıştırıldığında yeni MacBook Pro bilgisayarlarda titreyen ve boş ekranlarla ilgili sorunlar düzeltildi.
- Çerçevesiz emülatör etkinken yakınlaştırılmış moda geçiş yapıldığında boş ekranlarla ilgili sorunlar düzeltildi.
- Yakınlaştırıldığında cihaz kaplamasının ve emülatör içeriğinin senkronize olmaktan çıkmasına neden olan sorun düzeltildi.
Sorun yaşamaya devam ederseniz lütfen sorun kaydı oluşturun.
27.1.12 (Mart 2018)
Bu güncelleme, aşağıdaki sorunların düzeltmelerini içerir:
- Emülatör çalıştırıldıktan sonra Bluetooth ses kalitesi düştü. (Sayı 37095756)
- Bir emülatöre gönderilen konumlar tümüne gönderildi. (Sayı 73450633)
- Konsol kullanılarak ayarlanan GPS konumu, grafik kullanıcı arayüzünde Genişletilmiş Denetimler > Konum kullanılarak ayarlanan değerlerle geçersiz kılındı. (Sayı 73471760)
Sorun yaşamaya devam ederseniz lütfen sorun kaydı oluşturun.
Bu güncelleme, güncel bir sistem görüntüsü ve Android Studio'nun önizleme sürümüyle, ARCore ile oluşturulan artırılmış gerçeklik uygulamalarını çalıştırmak için Android Emulator'u kullanabilirsiniz. Ayrıntılı gereksinimler ve talimatlar için Android Emulator'da AR uygulamalarını çalıştırma başlıklı makaleyi inceleyin.
27.1.10 (Şubat 2018)
Kamera çekim çözünürlüğü
Artık bağlı bir web kamerasından 720p kareler yakalanabilir.
Android 8.1 (API düzeyi 27) ve sonraki sistem resimleriyle çalışmak için bağlı web kameralarının 720p kare yakalayabilmesi gerekir.
Düzeltmeler
- Web kamerası çekiminin bazen bozuk veya tamamen yeşil bir resim oluşturmasına neden olan sorun düzeltildi.
- Gerçekten takılma olmamasına rağmen aşağıdaki mesajın gösterilmesine neden olan sorun düzeltildi: "emulator: ERROR: detected a hanging thread 'Qt event loop'. 15.000 ms boyunca yanıt alınamadı".
Sorun yaşamaya devam ederseniz lütfen sorun kaydı oluşturun.
27.1.7 (Şubat 2018)
Çerçevesiz emülatör penceresi:
Cihaz kaplaması dosyaları içeren emülatörler artık varsayılan olarak çevreleyen bir pencere çerçevesi olmadan gösteriliyor. Etrafındaki pencere çerçevesini göstermek için Genişletilmiş Denetimler penceresinin Ayarlar bölmesinde Cihazın etrafındaki pencere çerçevesini göster'i etkinleştirin.
AVD anlık görüntüleriyle çalışmayı daha verimli hale getiren Hızlı Başlatma iyileştirmeleri:
- Genişletilmiş Denetimler iletişim kutusunun Ayarlar bölmesinde bulunan Şimdi Kaydet düğmesini kullanarak dilediğiniz zaman AVD anlık görüntüsünü 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ü kaydetme süresini kısaltır.
Ayrıntılar için Hızlı Başlatma dokümanlarına bakın.
Emülatör, QEMU 2.9'u kullanacak şekilde güncellendi.
Dikkat çeken iyileştirmelerden bazıları şunlardır:
- Daha iyi performans için optimize edilmiş G/Ç ve daha ayrıntılı G/Ç iş parçacığı kilitleme.
- QEMU 2.8 (26.1.4) sürümünden beri olan 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ördeki Swiftshader oluşturma aracı artık OpenGL ES 3.0 ile tam uyumludur. Swiftshader oluşturma aracıyla 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 kapatılıp açılmadığı sürece pano paylaşımının çalışmamasıyla ilgili sorun düzeltildi.
- Düşük çözünürlüklü AVD'lerle Swiftshader oluşturma arka ucu kullanılırken yaşanan donma sorunu düzeltildi.
27.0.5 (Ocak 2018)
Windows'ta oluşturma için ANGLE artık varsayılan olarak devre dışıdır.
ANGLE sizin için daha iyi çalışıyorsa komut satırı işaretçisi
-gpu angle_indirect
ile yeniden etkinleştirebilirsiniz. Alternatif olarak, Genişletilmiş kontroller penceresini açın, Ayarlar > Gelişmiş'e gidin ve OpenGL ES oluşturma aracı ayarı için ANGLE D3D11'i seçin.Üst Karakter+B tuşlarına basıldığında büyük B karakterinin yazılmaması 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şlatma süreleri sağlar.
Hızlı Başlatma, tüm AVD'ler için varsayılan olarak etkindir. Bir AVD'yi ilk kez başlattığınızda soğuk başlatma işlemi yapması gerekir (tıpkı bir cihazı açmak gibi). Ancak sonraki tüm başlatmalar hızlıdır ve sistem, emülatör kapattığınız duruma geri yüklenir (bir cihazı uyandırmaya benzer).
Emülatör'ün ne zaman anlık görüntü kaydedeceğini kontrol etmek istiyorsanız emülatör'ün Genişletilmiş denetimler penceresini açıp Ayarlar'ı tıklayın. Burada, Çıkışta hızlı önyükleme durumunu kaydet için aşağıdaki ayarlardan birini seçebilirsiniz:
- Evet: Emülatör kapatıldığında hızlı önyükleme anlık görüntüsünü her zaman kaydedin. Bu, varsayılan seçenektir.
- Hayır: Hızlı önyükleme anlık görüntüsünü hiçbir zaman kaydetmeyin, her zaman soğuk önyükleme yapın.
- Sor: Emülatörü kapatırken hızlı önyükleme anlık görüntüsünün kaydedilip kaydedilmeyeceğini sorun.
Seçiminiz yalnızca şu anda açık olan AVD için geçerlidir.
Daha fazla bilgi için Hızlı Başlatma belgelerine bakın.
Mac OpenGL ES 3 desteği eklendi (API düzeyi 24 ve sonraki sürümleri, Google API'lerini ve x86 ABI'yi kullanan sistem resimleri için).
OpenGL ES 2 ve sonraki sürümlerdeki uygulamalarda daha fazla kararlılık için emülatör artık varsa OpenGL çekirdek profilini kullanır.
Swiftshader / ANGLE ile oluşturma için yeni seçenekler:
-gpu swiftshader_indirect
: Swiftshader'ın Hızlı Başlatma ile çalışan daha hızlı ve daha kararlı varyantı.-gpu angle_indirect
(yalnızca Windows): Hızlı Başlatma ile de çalışan ANGLE D3D'nin daha kararlı varyantı.
Eski
-gpu swiftshader
ve-gpu angle
seçeneklerinin desteği sonlandırılmıştır. Genişletilmiş denetimler penceresindeki Ayarlar > Gelişmiş bölümündeki OpenGL ES oluşturma aracı ayarı için"SwiftShader " ve"ANGLE " seçenekleri artık*_indirect
varyantlarını kullanıyor.Diğer çeşitli hata düzeltmeleri.
26.1.4 (Ağustos 2017)
Bu sürümde, hata düzeltmelerinin yanı sıra GPU yapılandırmasında aşağıdaki iyileştirmeler yapılmıştır:
- ANGLE oluşturucusunda çalışırken önyükleme animasyonunu etkinleştirme
- ANGLE oluşturma aracında çalışırken GLES3'ü devre dışı bırakma
26.1.3 (Ağustos 2017)
Bu sürüm, hata düzeltmeleri, performans iyileştirmeleri ve küçük özellik değişiklikleri içeren küçük bir sürümdür.
- En son Android 8.0 sistem resimlerini kullanmak için artık bu sürüm gereklidir.
Bunlar, ayrı
vendor.img
bölümleriyle Treble uyumludur. - Yeni HAXM 6.2.0 kullanıma sunuldu (SDK Yöneticisi'ni kontrol edin). Aşağıdaki güncellemeleri içerir:
- Bellek kullanımı iyileştirilmiştir. HAXM tarafından sabitlenen en yüksek çalışma bellek grubu artık AVD'nin RAM boyutuna eşit değildir. Bunun yerine, bellek gerektiğinde sayfalanır. Bu, emülatör'ün daha az RAM'e sahip makinelerde daha güvenilir bir şekilde çalışmasına yardımcı olur.
- HAXM 6.2.0 yüklü emülatör artık macOS'te daha hızlı önyükleme yapabilir ve uzun bir başlatma aşamasını atlayabilir.
- 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 yapılırken önyükleme sırasında siyah ekranla ilgili sorunlar düzeltildi. Google API'leri içeren API düzeyleri 19-25 için sistem görüntülerinin en son düzeltmelerinde konuk tarafında çalışan oluşturma olmalıdır.
- Eski Intel GPU'ların varlığı algılandığı için emülatör yazılım oluşturma aracına geçirilmesine rağmen emülatör aslında ayrı bir GPU'da çalıştığında ortaya çıkan sorun düzeltildi. Hangi GPU'ların ANGLE veya Swiftshader oluşturma için değiştirileceği aşağıdaki şekilde belirlenir:
- Eski Intel iGPU'larda hem OpenGL hem de ANGLE D3D sürücülerinde sürücü sorunları vardır. Intel HD Graphics 3xxx ve önceki sürümleri kullananlar Swiftshader'ı kullanır.
- Bazı kullanıcılar, "Pixel Launcher'ın sürekli durması" nedeniyle API düzey 25 resimlerini kullanamadıklarını bildirdi. Bu, bazı Intel HD 4xxx modellerindeki sürücü sorunundan kaynaklanıyor. Bu nedenle, ANGLE'ın otomatik olarak kullanılacağı şekilde değiştirilecekler.
- GPU emülasyonuyla en iyi sonuçları elde etmek için ayrı bir NVIDIA veya AMD GPU'yu ya da daha yeni bir Intel GPU'yu (Iris, HD 5xxx, HD 5xx/6xx) kullanmanızı öneririz.
- AVD
hw.gpu.mode=host
ile yapılandırılmışsa ve emülatör uzak masaüstü istemcisinde başlatıldıysa emülatörün başlatılamamasına (OpenGL emülasyonu başlatılamadı) neden olan sorun düzeltildi. - "OpenGL ES API düzeyi (yeniden başlatma gerektirir)" ayarlarının netleştirilmesi; sorun yaşıyorsanız veya daha düşük OpenGL ES API düzeylerinde test yapmanız gerekiyorsa OpenGL ES 3'ten OpenGL ES 2'ye geçme seçeneği eklendi.
- Mesa oluşturucusunun desteği sonlandırıldı.
hw.gpu.mode=mesa
artık ana makinede Swiftshader'ı kullanmak üzere otomatik olarak değiştirilecek.
- macOS için iyileştirmeler:
- Emülatör artık Hypervisor.Framework veya HAXM 6.2.0 aracılığıyla macOS 10.13 High Sierra ile tam uyumludur.
- Hypervisor.framework, performansı ve macOS uyumluluğunu artırmak için artık macOS'te 32 bit x86 resimler için varsayılan olarak etkinleştirilmiştir. Özellikle bu konuda sorun yaşıyorsanız lütfen bir hata raporu gönderin ve
HVF = off
dosyasını~/.android/advancedFeatures.ini
dosyasına ekleyin (mevcut değilse bu dosyayı oluşturun). - Hypervisor.framework kullanılırken internet bağlantısı olmaması / hata ayıklayıcının eklenememesi sorunları düzeltildi.
- Web kamerası yakalamanın uyumluluğunu ve performansını artırmak için QTKit tabanlı kamera yakalama, AVFoundation tabanlı bir arabelleğe alınmış yakalamayla değiştirildi.
- Bazı sistem resimlerinde kablosuz bağlantı desteği eklendi (şu anda yalnızca API düzeyi 25).
"AndroidWifi" adlı bir erişim noktası mevcuttur ve Android otomatik olarak buna bağlanır. WiFi desteği, emülatör
-feature -Wifi
komut satırı parametresiyle çalıştırılarak devre dışı bırakılabilir. - Bazı kullanıcılar, sabit boyutlu Play Store sistem resimlerinde yeterli depolama alanı olmadığı konusunda endişelerini dile getirdi. Bu nedenle, boyutu varsayılan olarak 2 GB'a (800 MB'tan) çıkardık.
- Hata bildirme 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'ye sahip ancak UG'ye sahip olmayan eski bir CPU kullanıldığında, birden fazla çekirdek yapılandırılmışsa emülatörün başlatılamamasına neden olan sorun düzeltildi.
- Emülatör bir Xen hiper yöneticisinde çalışıyorsa HyperV'nin yanlış algılanmasına neden olan sorun düzeltildi.
- Bazı Linux yapılandırmalarında emülatörün başlangıçta kilitlenmesine neden olan sorun düzeltildi.
26.1.2 (Temmuz 2017)
Bu sürümde yeni özellikler ve performans iyileştirmeleri yer almaktadır.
Genişletilmiş denetimlerde özel HTTP proxy yapılandırması tanımlama özelliği eklendi (Diğer 'i, ardından Ayarlar'ı ve 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ımlayabilirsiniz.
Emülatör'ün uzaktan görüntülenebilmesi ve kontrol edilebilmesi için misafir modu GPU'su için VNC desteği eklendi. Örneğin, emülatöre başlatabilir ve VNC'nin 5901 numaralı bağlantı noktasını dinlemesine aşağıdaki gibi izin verebilirsiniz:
- Yürütme:
emulator -gpu guest -avd avd_name -no-window -qemu -vnc :1
5901 bağlantı noktasına bağlanmak için tightvnc viewer gibi bir VNC görüntüleyici açın.
Mac'in yerleşik ekran paylaşımı istemcisini kullanmak için emülatör başlatılırken VNC şifresi gerekir. Şifre ayarlamak için şu komutu kullanın:
emulator -gpu guest -avd avd_name -no-window -qemu -vnc :1,password -monitor stdio
Ardından konsola
change vnc password
ve bir şifre girin.
Android O, şu anda VNC modunda desteklenmemektedir.
- Yürütme:
Genişletilmiş kontroller Yardım ekranına Hata bildir düğmesi eklendi (Diğer simgesini, 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 kendinize kaydedebilir veya emülatör sorunlarını bildirebilirsiniz.
Sanal sensörler paneline ve emülatöre jiroskop sensörü eklendi. Bunun çalışması için jiroskop desteğine sahip bir sistem resmi gerekir (şu anda API düzeyi 24 ve 25).
Barındırıcıdaki birden fazla sanal ağ arayüzü, emülatör için işlevsel olmayan birden fazla DNS adresi eklediğinde Windows'daki Qemu DNS listesine barındırıcı tarafından tercih edilen DNS eklendi.
macOS 10.10 ve sonraki sürümlerde sunucu işaretleri aracılığıyla 32 bit x86 resimler için deneysel macOS Hypervisor.Framework desteği eklendi. Bu, önyükleme süresini ve performansı iyileştirecektir.
- Bu konuda sorun yaşarsanız
~/.android/advancedFeatures.ini
dosyasınaHVF = off
satırını ekleyin.
- Bu konuda sorun yaşarsanız
OpenGL ES 3.x artık OpenGL ES 3'ü destekleyen sistem görüntüleri ve ana GPU'lar için varsayılan olarak etkinleştirilmiştir. Ş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.ini
dosyasınaGLESDynamicVersion = off
satırını ekleyin.
- OpenGL ES 3 ile ilgili sorun yaşıyorsanız
Emülatör artık nihai ekran görüntüsü yayınlama dışındaki tüm oluşturma işlemleri için ekran dışı OpenGL FBOs'ları kullanıyor. Bu, platformlar arası renk tutarlılığı sorunlarına yardımcı olacaktır.
Aniden yavaşlayan emülatör sorunlarıyla ilgili verileri topladıktan sonra, sorunun eski Intel OpenGL sürücüleri ile Windows güncellemeleri arasındaki etkileşimle ilgili olabileceğini belirledik. Bu nedenle, Intel HD 4000, 3000, 2000 (ve ilgili GPU'lar) kullanan kullanıcıların oluşturma ayarı artık varsayılan olarak bir D3D oluşturma aracına (ANGLE) veya Swiftshader'a (yazılım oluşturma aracı) ayarlanmıştır.
26.0.0 (Mart 2017)
Bu sürüm API düzeyi 26 ile uyumludur. Ayrıca, çeşitli performans iyileştirmeleri ve hata düzeltmeleri de bu sürüme dahil edilmiştir.
Küçük düzeltme 26.0.3 (Mayıs 2017)
- Sorunlu donanım yapılandırmalarından kaynaklanan sorunları hızlı bir şekilde gidermek için internet üzerinden güncellenebilen özellik bayrakları ekler. Bu sayede Google, sunucu tarafı işaretlerini güncelleyerek kullanıcı yapılandırmalarına bağlı düzeltmeleri ve özellikleri kullanıma sunabilir. Belirli donanımlarla ilgili sorun fark ederseniz sorunu inceleyebilmemiz için lütfen hata bildirin.
- Android Wear API düzeyi 25 sistem resimleri için dönen giriş desteği eklendi. Wear cihazındaki döner giriş kadranını taklit etmek için genişletilmiş pencerede Döner Giriş sekmesini tıklayın.
- Kilitlenme Raporlama iletişim kutusu artık yeniden boyutlandırılabilir ve giriş olmadan Kilitlenme raporları ne zaman gönderilecek? seçeneğini Sor olarak sıfırlamaz.
- 32 bitlik emülatörde, emülatörün 2 GB sanal adres alanında yer kalmaması için artık maksimum AVD RAM boyutunun 512 MB'den az veya eşit olması gerekir.
- Emülatör resimlerinde mutlak yollar için destek eklendi.
- Google Play Store resimleri için genişletilmiş pencerede Play Hizmetleri sürümünü gösteren yeni bir sekme ve Play Hizmetleri'ndeki güncellemeleri kontrol etmek için bir düğme ekler.
- Emülatör Ayarları sayfasında OpenGL oluşturma aracını seçmek için bir açılır menü ekler. Windows makinenizde OpenGL sürücüsüyle ilgili sorun yaşıyorsanız ANGLE (D3D11) veya ANGLE (D3D9) seçeneklerini kullanmayı deneyin (yeniden başlatma gerekir). Windows dışında bir makinede OpenGL sürücüsüyle ilgili sorun yaşıyorsanız Swiftshader yazılımı oluşturma aracını kullanmayı deneyin (yeniden başlatma gerekir).
- Emülatör hem
exit
hem deminimize
komutlarını aldığında çıkışta nadiren görülen kilitlenme sorunu düzeltildi. - Mac makinesinde ekran değiştirilirken ortaya çıkan ölçeklendirme sorunu düzeltildi. (Sorun 268296)
- Ana makinenin uyku modundan devam etmesinden sonra veya emülatör uzun süre çalıştıktan sonra emülatörün CPU'nun% 300'ünü almasına ve bu durumu sürdürmesine neden olan sorun düzeltildi.
- Emülatör kapanırken kilitlenme sorunu düzeltildi.
HAXM v6.1.1 ile ilgili güncellemeler (Mart 2017)
Not: HAXM 6.1.1 sürümü, 30 Mart'tan itibaren Mac kullanıcıları tarafından SDK Yöneticisi üzerinden kullanılabilir. Windows kullanıcıları için de yakında kullanıma sunulacaktır.
Android Emulator'un 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. (Sayı 223377)
- Mac'lerde VirtualBox ve Docker ile birlikte çalışma sorunu düzeltildi. (Sayı 197915)
- Yükleyici, Windows'ta Intel VT-x'i algılayamadığında (genellikle Hyper-V etkin olduğu için) görüntülenen yükleme hata mesajını düzeltir.
- Hyper-V tabanlı Windows sanal makinesinde Android Emulator'ü hızlandırma desteği eklendi. Bu güncelleme, ana makine Hyper-V örneğinin (Windows sanal makinesini/konuğu yöneten) iç içe yerleştirilmiş sanallaştırma özelliği etkinleştirilmiş 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 bir düzeltme sürümü.
- Android SDK Tools 26.0.0 veya sonraki bir düzeltme sürümü.
Yeni özellikler ve hata düzeltmeleri
- API düzeyi 26 ile uyumludur.
- Tamamen GLES 2.0 uyumludur. Uyumlu masaüstü OpenGL sürücülerine sahip bir ana GPU kullanıldığında, emülatör artık Android CTS dEQP-GLES2
mustpass
listesinin% 100'ünü geçiyor. Bu sürüm, API düzeyi 24 x86 resimleri (11 ve sonraki düzeltmeler) için yayınlandı ve yakında tüm sistem resimlerine eklenecek. - Video oynatma performansı iyileştirildi. Emülatör artık tüm video renk arabelleklerini ana/konuk paylaşılan bellekte depolar ve GPU'da gerekli nihai YUV'den RGB'ye dönüşümü gerçekleştirir. 1080p30, şu anda çoğu sistemin rahatlıkla ulaşabileceği bir çözünürlüktür. Bu sürüm, API düzeyi 24 x86 resimleri (11 ve sonraki düzeltmeler) için yayınlandı ve yakında tüm sistem resimlerine eklenecek.
- Emülatör artık çıkışta
adb devices
listesinden doğru şekilde kaydını siler ve Linux makinelerindeki açık TCP bağlantı noktalarını kapatı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ümden itibaren Android Emulator, SDK Tools'dan ayrı olarak yayınlanacaktır. Bu sürümde çeşitli performans iyileştirmeleri, yeni özellikler ve hata düzeltmeleri yer almaktadır.
Küçük düzeltme 25.3.1 (Mart 2017)
- GLAsyncSwap varsayılan olarak devre dışı bırakılarak bazı GPU yapılandırmalarında meydana gelen kilitlenme düzeltildi.
Bu özellik, oyunlar ve videolar için kare zamanlamasını ve saniye başına kare sayısını iyileştirmek amacıyla 25.3.0 sürümünde eklenmiştir ancak bilinmeyen bazı makine yapılandırmalarında emülatörün başarısız olmasına neden olur.
android_sdk/emulator/lib/advancedFeatures.ini
dosyasını açıpGLAsyncSwap = on
ayarını yaparak bu özelliği manuel olarak etkinleştirebilirsiniz.
Bağımlılıklar
- Android SDK Platform-Tools 24 veya sonraki bir düzeltme sürümü.
- Android SDK Tools 25.3.0 düzeltme sürümü.
Yeni özellikler ve hata düzeltmeleri
- Son hata düzeltmeleri, iyileştirilmiş performans ve yeni özellikler de dahil olmak üzere emülasyon motoru QEMU 2.7'ye güncellendi.
- Yeni IPv6 desteği.
- Emülatör artık ana makinede SwiftShader'ı saf bir yazılım oluşturma aracı olarak kullanıyor.
- Android Pipe performans iyileştirmeleri: Emülatör ile Android OS arasındaki ana iletişim kanalı olan Android Pipe artık çok daha hızlı, daha düşük gecikmeye sahip ve çoklu iş parçacıklı performansı daha iyi. Bu sayede emülatörde aşağıdakiler dahil olmak üzere çeşitli performans iyileştirmeleri elde edilir:
- ADB'nin gönderme/alma hızı iyileştirildi.
- Daha iyi 3D hızlandırma desteği.
- Emülatör'ün genel yanıt verme performansı artırıldı.
- Grafik performansı iyileştirildi.
- Artık konuk istediğinde emülatör GPU taraflı arabellekleri (glBindBuffers / glBufferData) kullanıyor. Bu sayede bazı uygulamalarda CPU yükü azalıyor.
- İyileştirilmiş ses desteği.
- Daha hızlı disk G/Ç: Emülatör artık disk G/Ç'yi dağıtmak için ayrı iş parçacıkları kullanıyor.Bu sayede gecikme azalıyor ve daha iyi bir işleme hızı elde ediliyor (~1, 5 kat sıralı G/Ç hızı, ~5 kat rastgele erişim G/Ç hızı). Bu, diske temizleme sayısını da azaltır ve fiziksel cihaz yükünün çok daha düşük olmasına neden olur.
- Emülatör artık Windows makinelerinde disk önyüklemeleri için seyrek dosyalar kullanıyor. Bu sayede hem ilk önyükleme hem de "verileri sil" önyüklemeleri hızlandırılıyor. AVD oluştururken veya sıfırlarken emülatör artık diske 2 GB veya daha fazla yerine 100-200 MB veri yazıyor.
- Çeşitli kullanıcı arayüzü geliştirmeleri:
- Emülatör artık hata düzeltmeleri ve performans iyileştirmeleri içeren Qt 5.7.0 sürümünü kullanıyor.
- Kullanıcı arayüzü başlatma işlemi artık tüm emülatör yürütülebilir dosyalarını Qt eklentisi olarak yüklemeye çalışmadığından, özellikle HDD'lerde önemli ölçüde daha kısadır.
- Döndürme, pencere boyutlandırma ve genişletilmiş denetimler penceresinin yüklenmesi ve kapatılması da dahil olmak üzere kullanıcı arayüzü etkileşimleri artık daha hızlı ve sorunsuz.