Android işletim sisteminin arkasındaki isim olan Google, bu ayın başlarında Android 11 Geliştirici Önizlemesi 2’yi yayınlamıştı. Bu sürümle birlikte firma, Android Studio’daki Android Emulator’da daha verimli hata ayıklamasını etkinleştirmek için önemli bir değişiklik yaptı. Bu değişiklikle x86 CPU’lar için Android 11 sistem görüntüleri artık C veya C++’a bağlı uygulamaların tam ARM emülasyonu olmadan ve CPU sanallaştırmasını kullanmadan daha sorunsuz çalışmasına izin veriyor.
Yerel kodla yazılmış Android uygulamaları (yani C veya C++) farklı CPU mimarileri göz önünde bulundurularak derlenmelidir. Bu noktada ARM, ARM64, x86 veya x86-64 gibi farklı CPU mimarilerini hedefleyen uygulamanın da farklı sürümleri olmalıdır. Bunun nedeniyse yerel kodun Android Runtime’da (ART) çalışan Kotlin veya Java uygulamalarının aksine belirli mimari için doğrudan makine talimatlarında derlenmesidir.
Geliştiriciler fiziksel bir Android cihaza ihtiyaç duyuyorlardı:
Kullanıcılar, uygulamalarını x86 tabanlı bilgisayarda çalışan Android Emulator ile test edebilmek için farklı bir x86 CPU sürümüne ihtiyaç duyuyor. Bu noktada uygulamanın x86 sürümü, genellikle ARM veya ARM64 CPU’lara dayandığından akıllı telefonlarda çalışmaz. Şimdiye kadar bu sorunun tek çözümü fiziksel bir Android cihaz kullanmak veya x86 CPU’lar için tam ARM emülasyonu ile emülatör görüntüleri yüklemekti ancak bu seçenek de tam olarak işe yaramıyordu.
Bu durumu çözmek için Google, ARM uyumluluğuna sahip yeni Android 11 x86 sistem görüntüleri yayınladı. Bu sistem görüntüleri, farklı dillerde yazılmış uygulamalar arasında veya uygulamalarla işletim sistemleri arasında aracılık eden ABI’ları kullanıyor. ARM ikili kodundaki ARM talimatları yalnızca x86’ya çevrilirken kodun geri kalanı x86’da yürütülmeye devam ediliyor. Bu sayede işlem daha az performans gerektiriyor ve düşük seviyeli donanımlarda dahi çalışabiliyor.
Yeni x86 uyumlu Android 11 sistem görüntüleri, Android Virtual Device Manager veya SDK Manager kullanılarak Android Studio’dan indirilebiliyor. Bununla birlikte Google, ilerleyen günlerde geliştiricilerin Chromebook'lar için x86 sürümü yerine uygulamalarının ARM sürümünü ABI'larla birlikte yayınlamasına da izin verecek.