Android Emulator — bu nədir və emulyasiya necə işləyir

Müəllif: IT Sectr Dərc olunub: 2026-02-09 Oxuma vaxtı: 8 dəq

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 əsasında ARM tərcüməsi, GPU, sensorlar və NFC dəstəyi ilə tam emulyasiya
  • AVD Manager — API səviyyəsi, arxitektura və aparat xüsusiyyətlərinin seçimi ilə virtual cihazların yaradılması və konfiqurasiyası aləti
  • HAxM və Hyper-V — emulatorun performansını 3-5 dəfə artıran aparat sürətləndirilməsi
  • Koddan yoxlama — Build.FINGERPRINT və Build.PRODUCT Kotlin-də emulatorda işə salınmanı müəyyən etməyə imkan verir
  • Sensorların emulyasiyası — akselerometr, giroskop, NFC, GPS və kamera emulatorda dəstəklənir

Android Emulator nədir?

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.

Emulator üçün sistem obrazları

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.

kotlin
// 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")
}

Android Studio-da AVD-nin qurulması

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ə
Arxitekturax86_64 (HAxM ilə)ARM64 (təmiz emulyasiya)
RAM2048-4096 MB1536-2048 MB
Daxili yaddaş8-16 GB4-8 GB
API SəviyyəsiSon stabilMinimum dəstəklənən
Google Play ServicesAktivLazı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.

Sürətli start üçün snapshot rejimi

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 və aparat sürətləndirilməsi

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.

bash
# 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 auto

Intel 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 PlatformWHPX 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

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.

SsenariEmulatorReal cihaz
UI inkişafıBəli (sürətli)Xeyr (uzun deploy)
Performans testiXeyr (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ənmirBə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 kodunda emulatorun yoxlanması

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.PRODUCTBuild.HARDWARE təqdim edir.

kotlin
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.

Emulatorda tətbiqlərin test edilməsi

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.

kotlin
// 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.

Şəbəkə və sensorların emulyasiyası

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.

Wear OS və Android TV üçün Android Emulator

Emulator təkcə smartfonları deyil, həm də Wear OSAndroid 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 iOS Simulator-dan nə ilə fərqlənir?

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.

Kodda tətbiqin emulatorda işə salınıb-salınmadığını necə yoxlamaq olar?

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.

Android Emulator-un işini necə sürətləndirmək olar?

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.

Android Emulator-da NFC test etmək mümkündürmü?

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.

AVD üçün hansı sistem obrazlarını seçmək daha yaxşıdır?

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ə

  • Android Emulator — QEMU əsasında ARM tərcüməsi, GPU, sensorlar və NFC dəstəyi ilə Android cihazının tam emulyasiyası
  • AVD Manager — arxitektura, API səviyyəsi, RAM və aparat xüsusiyyətlərinin seçimi ilə virtual cihazların konfiqurasiyası
  • Aparat sürətləndirilməsi — HAxM, Hyper-V və WHPX emulatorun performansını 3-5 dəfə artırır
  • Mühitin yoxlanması — Build.FINGERPRINT, Build.PRODUCT və Build.HARDWARE emulatorda işə salınmanı müəyyən etmək üçün
  • Extended Controls — ssenarilərin testi üçün GPS, NFC, sensorlar, daxil olan zənglər və SMS simulyasiyası
  • CI avtomatlaşdırması — CI-da effektiv test üçün Gradle Managed Devices və x86_64 obrazları
  • Quick Boot — emulatorun yükləmə müddətini 2-5 saniyəyə qədər azaldan snapshot rejimi

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.

Layihəni müzakirə et

Həm də oxuyun