Android Emulator — Android Studio komponenti olub, tərtibatçının kompüterində Android cihazının tam virtual surətini işə salır. Emulator ARM təlimatlarını x86_64 host arxitekturasına tərcümə etmək üçün QEMU-dan istifadə edir. Google Sənədləşməsi AVD virtual cihazlarının qurulması və aparat sürətləndirilməsinin tam dövrünü təsvir edir.
Əsas məqamlar
Android Emulator — QEMU (Quick EMUlator) əsasında işləyən və Android aparat platformasını emulyasiya edən virtual Android cihazı. iOS Simulator-dan fərqli olaraq, Android Emulator ARM təlimatlarını tam şəkildə tərcümə edir ki, bu da mobil arxitektura üçün tərtib edilmiş kodu x86_64 hostunda işə salmağa imkan verir.
Google Android Emulator-u 2007-ci ildə Android SDK-nın ilk versiyası ilə birlikdə buraxdı. O vaxtdan bəri emulator yavaş ARM-only həllindən GPU, aparat sürətləndirilməsi və sensor emulyasiyası dəstəyi ilə yüksək performanslı sistemə çevrildi. Google-a görə (Android Developer Blog, 2025), HAxM ilə müasir emulator ilk nəsildən 4-5 dəfə sürətlidir.
Emulator Android cihazının bütün komponentlərini dəstəkləyir: CPU, GPU, RAM, yaddaş, sensor ekran, akselerometr, giroskop, GPS, kamera, batareya, NFC, Bluetooth və Wi-Fi. Tərtibatçı Extended Controls vasitəsilə daxil olan zəngləri, SMS-i, müxtəlif şəbəkə siqnal səviyyələrini və geolokasiyanı simulyasiya edə bilər.
Android Emulator SDK Manager vasitəsilə yüklənən sistem obrazlarından (System Images) istifadə edir. Hər bir sistem obrazı seçilmiş API səviyyəsi və hədəf prosessor arxitekturası üçün Android proqram təminatının tam surətini ehtiva edir. Müxtəlif arxitekturaya malik obrazlar mövcuddur: x86_64 (HAxM ilə tövsiyə olunur), ARM64 (ARM uyğunluğunu test etmək üçün) və Google APIs (əvvəlcədən quraşdırılmış Google Play Services ilə). Wear OS, Android TV və Automotive üçün də ayrıca obrazlar var.
// Emulator növünün koddan yoxlanması
val isEmulator = Build.FINGERPRINT
.contains("generic") ||
Build.PRODUCT.contains("sdk")
if (isEmulator) {
Timber.d("Tətbiq emulatorda işə salınıb")
}AVD (Android Virtual Device) — emulator üçün virtual cihazın konfiqurasiyası. Android Studio-dakı AVD Manager model, ekran ölçüsü, piksel sıxlığı, RAM miqdarı, yaddaş ölçüsü və Android versiyası kimi parametrlərin istənilən kombinasiyası ilə cihazlar yaratmağa imkan verir.
| AVD Parametri | İnkişaf üçün tövsiyə | Test üçün tövsiyə |
|---|---|---|
| Arxitektura | x86_64 (HAxM ilə) | ARM64 (təmiz emulyasiya) |
| RAM | 2048-4096 MB | 1536-2048 MB |
| Daxili yaddaş | 8-16 GB | 4-8 GB |
| API Səviyyəsi | Son stabil | Minimum dəstəklənən |
| Google Play Services | Aktiv | Lazım olduqda |
AVD yaradılması Android Studio-da Device Manager vasitəsilə həyata keçirilir: aparat profilini (Pixel, Nexus, Galaxy və digərləri), sistem obrazını seçin və parametrləri konfiqurasiya edin. Yaradıldıqdan sonra cihaz tətbiqin birbaşa işə salınması üçün Run Configurations siyahısında görünür.
Emulator Quick Boot dəstəkləyir — AVD vəziyyətini snapshot olaraq saxlayır və növbəti işə salınmada onu bərpa edir. Yükləmə müddəti 30-60 saniyədən 2-5 saniyəyə qədər azalır. Təmiz vəziyyətə sıfırlamaq üçün AVD Manager-də Cold Boot Now istifadə edin.
ARM tərcüməsi — Android Emulator-un ARM təlimatlarını anında x86_64-ə çevirən əsas texnologiyası. Tərcümə olmadan emulator yalnız x86_64 obrazlarını işə sala bilər ki, bu da testi məhdudlaşdırır. Google ARM→x86 tərcüməsi üçün libhoudini və HAXM sürətləndirilməsi üçün Intel kitabxanalarından istifadə edir.
# Windows-da HAxM statusunun yoxlanması
sc query "IntelHaxm"
# HAxM-in SDK Manager vasitəsilə quraşdırılması
sdkmanager "extras;intel;Hardware_Accelerated_Execution_Manager"
# Emulatorun aparat sürətləndirilməsi ilə işə salınması
emulator -avd Pixel_9_API_35 -accel on -gpu autoIntel HAxM (Hardware Accelerated Execution Manager) — Intel VT-x prosessorları üçün virtualizasiya sürücüsü, emulatoru 3-5 dəfə sürətləndirir. AMD prosessorlu Windows-da Windows Hyper-V Platform və WHPX istifadə edin. Aparat sürətləndirilməsi olmadan emulator yavaş işləyir, animasiya gecikmələri 1-2 saniyəyə qədər olur.
Apple Silicon (M seriyası) üzərində macOS üçün aparat sürətləndirilməsi Hypervisor.framework vasitəsilə natitiv işləyir. Google-a görə (Android Emulator Release Notes 2025), M2 Max-də emulator əsas əməliyyatlarda real cihazın performansının 95%-nə çatır.
Emulator və real cihaz arasında seçim inkişaf mərhələsindən asılıdır. Emulatorda inkişaf etdirmək və debug etmək rahatdır: sürətli start, ani deploy, sensorların simulyasiyası üçün Extended Controls. Real cihazda isə — performans, batareya və aparatla işin yekun testi.
| Ssenari | Emulator | Real cihaz |
|---|---|---|
| UI inkişafı | Bəli (sürətli) | Xeyr (uzun deploy) |
| Performans testi | Xeyr (yüksək göstəricilər) | Bəli (real ölçmələr) |
| Sensor emulyasiyası (GPS, NFC) | Bəli (Extended Controls) | Məhdud |
| Enerji istehlakı | Dəstəklənmir | Bəli (Battery Historian) |
| Şəbəkə testi (2G/3G/4G/5G) | Bəli (sürət simulyasiyası) | Bəli (SIM kartla) |
| CI/CD avtomatlaşdırması | Bəli (fiziki cihazsız) | Çətin (cihaz ferması) |
Aparat sürətləndirilməsi ilə emulatorun performansı çox vaxt real büdcə cihazından yüksəkdir. Buna görə yekun testləri hədəf performans səviyyəsi olan real cihazlarda aparın.
Kotlin-də icra mühitinin müəyyən edilməsi səhv kodu söndürmək və ya debug məlumatı əlavə etmək üçün faydalıdır. Android bu məqsəd üçün Build.FINGERPRINT, Build.PRODUCT və Build.HARDWARE təqdim edir.
object EmulatorDetector {
val isEmulator: Boolean
get() = Build.FINGERPRINT.startsWith("generic")
|| Build.FINGERPRINT.contains("emulator")
|| Build.HARDWARE == "ranchu"
|| Build.HARDWARE == "goldfish"
fun logEnvironment() {
if (isEmulator) {
Log.d("EmulatorDetector", "Mühit: emulator")
}
}
}Emulator detektorundan istifadə debug zamanı kömək edir: emulatorda genişləndirilmiş logları aktivləşdirmək, animasiyaları söndürmək və ya real API çağırışlarını mock-larla əvəz etmək olar. Tətbiqin biznes məntiqi tələb etmirsə, istehsal qurğularında yoxlamadan çəkinin.
Android Emulator CI serverlərində avtomatlaşdırılmış test üçün istifadə olunur. Testləri işə salmaq üçün AVD yaratmaq, emulatoru işə salmaq və sistemin tam yüklənməsini gözləmək tələb olunur. Gradle Managed Devices bu prosesi sadələşdirir: AVD konfiqurasiyası build.gradle.kts-də təsvir olunur.
// build.gradle.kts — Gradle Managed Devices
android {
testOptions {
managedDevices {
devices {
register<ManagedVirtualDevice>("pixel9Api35") {
device = "Pixel 9"
apiLevel = 35
systemImageSource = "google"
}
}
}
}
}Emulatoru əl ilə işə salmaq üçün əmr sətrindən istifadə edin: emulator -avd Pixel_9_API_35 -no-window -no-audio -gpu swiftshader_indirect. -no-window bayrağı server mühiti üçün qrafik interfeysi söndürür, -gpu swiftshader_indirect isə host GPU olmadan proqram renderinqini təmin edir.
Android Emulator-da Extended Controls şəbəkə şərtlərinin simulyasiyası üçün güclü alətlər təqdim edir: gecikmə (latency), ötürmə qabiliyyəti (bandwidth) və şəbəkə növü (GPRS, EDGE, 3G, 4G, 5G). Bu, zəif əhatə zonasına fiziki səyahət etmədən proqramın yavaş bağlantıdakı davranışını test etməyə imkan verir.
Sensorların simulyasiyası virtual 3D cihaz modelləri vasitəsilə akselerometr, giroskop və maqnitometri əhatə edir. GPS üçün marşrutları olan GPX faylları yüklənə bilər — emulator koordinatlar üzrə hərəkəti simulyasiya edir ki, bu da naviqasiya tətbiqlərinin testi üçün vacibdir. Kamera hostun veb-kamerası və ya şəkillərin yüklənməsi vasitəsilə emulyasiya olunur.
Multi-display Android Emulator-da planşetlər və qatlana bilən cihazlar üçün bir neçə ekranı dəstəkləyir. Extended Controls emulatoru yenidən başlatmadan oriyentasiyanı, ekran ölçüsünü və piksel sıxlığını (DPI) dəyişməyə imkan verir. Qatlana bilən cihazları test etmək üçün qatlanmış və açılmış vəziyyət arasında keçid edən Foldable rejimləri mövcuddur.
Emulator təkcə smartfonları deyil, həm də Wear OS və Android TV-ni dəstəkləyir. Wear OS üçün dairəvi və düzbucaqlı AVD konfiqurasiyaları, bezelin fırlanması və sürüşdürmə jestlərinin simulyasiyası, həmçinin telefon emulatoru ilə qarşılıqlı əlaqənin testi mövcuddur. Android TV üçün D-pad naviqasiyası olan interfeys istifadə olunur. Hər iki platforma aparat sürətləndirilməsini və Google Play Services ilə testi dəstəkləyir ki, bu da ağıllı saatlar və televiziya tətbiqlərinin dev dövrü üçün vacibdir.
Tez-tez verilən suallar
Android Emulator təlimat tərcüməsi ilə QEMU vasitəsilə tam ARM emulyasiyasından istifadə edir, iOS Simulator isə kodu host arxitekturası üçün tərtib edir. Android Emulator GPU, kamera, sensorlar, Bluetooth, NFC dəstəkləyir — iOS Simulator bu funksiyaların çoxunu dəstəkləmir.
Kotlin-də Build.FINGERPRINT-i "generic" və ya "emulator" üçün, həmçinin Build.HARDWARE-ı "ranchu" və ya "goldfish" üçün yoxlayın. Build.PRODUCT-ı əlavə marker kimi istifadə edin — emulator üçün "sdk_google" və ya "google_sdk" ehtiva edir.
Intel HAxM (Intel VT-x) və ya AMD prosessorları üçün Windows Hyper-V Platform (WHPX) aktivləşdirin. Aparat sürətləndirilməsi ilə x86_64 sistem obrazlarından istifadə edin. AVD Manager-də emulatora ən azı 4 GB RAM ayırın. Snapshot yükləməsi üçün Quick Boot-u aktivləşdirin.
Bəli, Android Emulator Android 10-dan (API 29) başlayaraq NFC emulyasiyasını dəstəkləyir. Extended Controls → Phone → NFC NDEF mesajları göndərməyə imkan verir. Teqlərin oxunması/yazılması, peer-to-peer və HCE rejimləri dəstəklənir. Tam test üçün NFC çipi olan real cihazdan istifadə edin.
Gündəlik inkişaf üçün Google APIs ilə x86_64 seçin — maksimal performans və tam xidmət dəsti. Uyğunluq testi üçün ARM64 obrazlarından istifadə edin. CI üçün — Google Play Services olmayan obrazlar, onlar daha kiçikdir və daha sürətli yüklənir.
Nəticə
Açar təslim mobil tətbiq hazırlayacağıq
IT Sectr 2017-ci ildən startaplar və bizneslər üçün iOS və Android tətbiqləri yaradır. Sizə məsləhət verəcəyik və ən yaxşı həlli təklif edəcəyik.
Həm də oxuyun