Android Emulator — bu nima va emulyatsiya qanday ishlaydi

Muallif: IT Sectr Nashr etilgan: 2026-02-09 O'qish vaqti: 8 daq

Android Emulator — Android Studio komponenti bo'lib, dasturchi kompyuterida Android qurilmasining to'liq virtual nusxasini ishga tushiradi. Emulator ARM ko'rsatmalarini x86_64 host arxitekturasiga tarjima qilish uchun QEMU-dan foydalanadi. Google hujjatlari AVD virtual qurilmalari va apparat tezlashtirishni sozlashning to'liq siklini tavsiflaydi.

Asosiy ma'lumotlar

  • Android Emulator — ARM tarjimasi, GPU, sensorlar va NFC qo'llab-quvvatlashi bilan QEMU asosidagi to'liq emulyatsiya
  • AVD Manager — API darajasi, arxitektura va apparat xususiyatlarini tanlash bilan virtual qurilmalarni yaratish va sozlash vositasi
  • HAxM va Hyper-V — emulator unumdorligini 3-5 marta oshirish uchun apparat tezlashtirish
  • Kodda tekshirish — Build.FINGERPRINT va Build.PRODUCT Kotlin-da emulatorda ishga tushirishni aniqlash imkonini beradi
  • Sensorlarni emulyatsiya qilish — akselerometr, giroskop, NFC, GPS va kamera emulatorda qo'llab-quvvatlanadi

Android Emulator nima?

Android Emulator — QEMU (Quick EMUlator) asosida ishlaydigan va Android apparat platformasini emulyatsiya qiluvchi virtual Android qurilmasi. iOS Simulator-dan farqli o'laroq, Android Emulator ARM ko'rsatmalarini to'liq tarjima qiladi, bu mobil arxitektura uchun kompilyatsiya qilingan kodni x86_64 hostida ishga tushirish imkonini beradi.

Google Android Emulator-ni 2007 yilda Android SDK-ning birinchi versiyasi bilan birga chiqardi. O'shandan beri emulator sekin ARM-only yechimidan GPU, apparat tezlashtirish va sensor emulyatsiyasini qo'llab-quvvatlaydigan yuqori unumli tizimga aylandi. Google ma'lumotlariga ko'ra (Android Developer Blog, 2025), HAxM bilan zamonaviy emulator birinchi avlodga qaraganda 4-5 marta tezroq ishlaydi.

Emulator Android qurilmasining barcha komponentlarini qo'llab-quvvatlaydi: CPU, GPU, RAM, xotira, sensorli ekran, akselerometr, giroskop, GPS, kamera, batareya, NFC, Bluetooth va Wi-Fi. Dasturchi Extended Controls orqali kiruvchi qo'ng'iroqlarni, SMS-larni, turli tarmoq signal darajalarini va geolokatsiyani simulyatsiya qilishi mumkin.

Emulator uchun tizim obrazlari

Android Emulator SDK Manager orqali yuklanadigan tizim obrazlaridan (System Images) foydalanadi. Har bir tizim obrazida tanlangan API darajasi va maqsadli protsessor arxitektura uchun Android proshivkasining to'liq nusxasi mavjud. Turli arxitekturaga ega obrazlar mavjud: x86_64 (HAxM bilan tavsiya etiladi), ARM64 (ARM mosligini sinash uchun) va Google APIs (oldindan o'rnatilgan Google Play Services bilan). Wear OS, Android TV va Automotive uchun ham alohida obrazlar mavjud.

kotlin
// Emulator turini kodda tekshirish
val isEmulator = Build.FINGERPRINT
    .contains("generic") ||
    Build.PRODUCT.contains("sdk")

if (isEmulator) {
    Timber.d("Ilova emulatorda ishga tushirildi")
}

Android Studio-da AVD sozlash

AVD (Android Virtual Device) — emulator uchun virtual qurilma konfiguratsiyasi. Android Studio-dagi AVD Manager model, ekran o'lchami, piksel zichligi, RAM miqdori, xotira hajmi va Android versiyasi kabi xususiyatlarning istalgan kombinatsiyasi bilan qurilmalar yaratish imkonini beradi.

AVD ParametriIshlab chiqish uchun tavsiyaSinov uchun tavsiya
Arxitekturax86_64 (HAxM bilan)ARM64 (sof emulyatsiya)
RAM2048-4096 MB1536-2048 MB
Ichki xotira8-16 GB4-8 GB
API DarajasiOxirgi barqarorMinimal qo'llab-quvvatlanadigan
Google Play ServicesYoqilganKerak bo'lganda

AVD yaratish Android Studio-dagi Device Manager orqali amalga oshiriladi: apparat profilini (Pixel, Nexus, Galaxy va boshqalar), tizim obrazini tanlang va parametrlarni sozlang. Yaratilgandan so'ng, qurilma ilovani to'g'ridan-to'g'ri ishga tushirish uchun Run Configurations ro'yxatida paydo bo'ladi.

Tez boshlash uchun Snapshot rejimi

Emulator Quick Boot qo'llab-quvvatlaydi — AVD holatini snapshot sifatida saqlaydi va keyingi ishga tushirishda uni tiklaydi. Yuklash vaqti 30-60 soniyadan 2-5 soniyagacha kamayadi. Toza holatga qaytarish uchun AVD Manager-da Cold Boot Now dan foydalaning.

ARM tarjimasi va apparat tezlashtirish

ARM tarjimasi — Android Emulator-ning ARM ko'rsatmalarini joyida x86_64 ga aylantiruvchi asosiy texnologiyasi. Tarjimasiz emulator faqat x86_64 obrazlarini ishga tushirishi mumkin edi, bu sinovni cheklaydi. Google ARM→x86 tarjimasi uchun libhoudini va HAXM tezlashtirish uchun Intel kutubxonalaridan foydalanadi.

bash
# Windows-da HAxM holatini tekshirish
sc query "IntelHaxm"

# HAxM ni SDK Manager orqali o'rnatish
sdkmanager "extras;intel;Hardware_Accelerated_Execution_Manager"

# Emulatorni apparat tezlashtirish bilan ishga tushirish
emulator -avd Pixel_9_API_35 -accel on -gpu auto

Intel HAxM (Hardware Accelerated Execution Manager) — Intel VT-x protsessorlari uchun virtualizatsiya drayveri, emulatorni 3-5 marta tezlashtiradi. AMD protsessorli Windows-da Windows Hyper-V Platform va WHPX dan foydalaning. Apparat tezlashtirishsiz emulator sekin ishlaydi, animatsiyalar kechikishi 1-2 soniyagacha bo'ladi.

Apple Silicon (M seriyasi) dagi macOS uchun apparat tezlashtirish Hypervisor.framework orqali nativ ishlaydi. Google ma'lumotlariga ko'ra (Android Emulator Release Notes 2025), M2 Max dagi emulator asosiy operatsiyalarda haqiqiy qurilma unumdorligining 95% ga etadi.

Emulator va haqiqiy qurilma

Emulator va haqiqiy qurilma o'rtasidagi tanlov ishlab chiqish bosqichiga bog'liq. Emulatorda ishlab chiqish va tuzatish qulay: tez ishga tushirish, darhol deploy, sensorlarni simulyatsiya qilish uchun Extended Controls. Haqiqiy qurilmada — unumdorlik, batareya va apparat bilan ishlashning yakuniy sinovi.

SsenariyEmulatorHaqiqiy qurilma
UI ishlab chiqishHa (tez)Yo'q (uzoq deploy)
Unumdorlikni sinashYo'q (yuqori ko'rsatkichlar)Ha (haqiqiy o'lchovlar)
Sensor emulyatsiyasi (GPS, NFC)Ha (Extended Controls)Cheklangan
Energiya iste'moliQo'llab-quvvatlanmaydiHa (Battery Historian)
Tarmoq sinovi (2G/3G/4G/5G)Ha (tezlik simulyatsiyasi)Ha (SIM karta bilan)
CI/CD avtomatlashtirishHa (fizik qurilmalarsiz)Qiyin (qurilmalar fermasi)

Apparat tezlashtirish bilan emulatorning unumdorligi ko'pincha haqiqiy byudjet qurilmasidan yuqori. Shuning uchun yakuniy sinovlarni maqsadli unumdorlik darajasidagi haqiqiy qurilmalarda o'tkazing.

Kotlin kodida emulator tekshiruvi

Kotlin da bajarish muhitini aniqlash noto'g'ri kodni o'chirish yoki tuzatish ma'lumotlarini qo'shish uchun foydalidir. Android bu maqsad uchun Build.FINGERPRINT, Build.PRODUCT va Build.HARDWARE ni taqdim etadi.

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", "Muhit: emulator")
        }
    }
}

Emulator detektoridan foydalanish tuzatishda yordam beradi: emulatorda kengaytirilgan loglarni yoqish, animatsiyalarni o'chirish yoki haqiqiy API chaqiruvlarini mock-lar bilan almashtirish mumkin. Agar ilovaning biznes mantiqi talab qilmasa, ishlab chiqarish yig'ilishlarida tekshirishdan saqlaning.

Ilovalarni emulatorda sinash

Android Emulator CI serverlarida avtomatlashtirilgan sinov uchun ishlatiladi. Testlarni ishga tushirish uchun AVD yaratish, emulatorni ishga tushirish va tizimning to'liq yuklanishini kutish talab qilinadi. Gradle Managed Devices bu jarayonni soddalashtiradi: AVD konfiguratsiyasi build.gradle.kts da tavsiflanadi.

kotlin
// build.gradle.kts — Gradle Managed Devices
android {
    testOptions {
        managedDevices {
            devices {
                register<ManagedVirtualDevice>("pixel9Api35") {
                    device = "Pixel 9"
                    apiLevel = 35
                    systemImageSource = "google"
                }
            }
        }
    }
}

Emulatorni qo'lda ishga tushirish uchun buyruq satridan foydalaning: emulator -avd Pixel_9_API_35 -no-window -no-audio -gpu swiftshader_indirect. -no-window bayrog'i server muhiti uchun grafik interfeysni o'chiradi, -gpu swiftshader_indirect esa host GPU-siz dasturiy renderlashni ta'minlaydi.

Tarmoq va sensorlarni emulyatsiya qilish

Android Emulator-dagi Extended Controls tarmoq shartlarini simulyatsiya qilish uchun kuchli vositalarni taqdim etadi: kechikish (latency), o'tkazish qobiliyati (bandwidth) va tarmoq turi (GPRS, EDGE, 3G, 4G, 5G). Bu yomon qamrovli hududga jismoniy sayohat qilmasdan ilovaning sekin ulanishdagi xatti-harakatini sinash imkonini beradi.

Sensorlarni simulyatsiya qilish virtual 3D qurilma modellari orqali akselerometr, giroskop va magnitometrni o'z ichiga oladi. GPS uchun marshrutli GPX fayllarni yuklash mumkin — emulator koordinatalar bo'yicha harakatni simulyatsiya qiladi, bu navigatsiya ilovalarini sinash uchun muhimdir. Kamera hostning veb-kamerasi yoki tasvirlarni yuklash orqali emulyatsiya qilinadi.

Multi-display Android Emulator-da planshetlar va buklanadigan qurilmalar uchun bir nechta ekranlarni qo'llab-quvvatlaydi. Extended Controls emulatorni qayta ishga tushirmasdan orientatsiya, ekran o'lchami va piksel zichligini (DPI) o'zgartirish imkonini beradi. Buklanadigan qurilmalarni sinash uchun buklangan va ochilgan holat o'rtasida almashinadigan Foldable rejimlari mavjud.

Wear OS va Android TV uchun Android Emulator

Emulator nafaqat smartfonlarni, balki Wear OS va Android TV ni ham qo'llab-quvvatlaydi. Wear OS uchun dumaloq va to'rtburchak AVD konfiguratsiyalari, bezel aylanishi va surish imo-ishoralarini simulyatsiya qilish, shuningdek telefon emulatori bilan o'zaro aloqani sinash mavjud. Android TV uchun D-pad navigatsiyasiga ega interfeys ishlatiladi. Ikkala platforma apparat tezlashtirish va Google Play Services bilan sinovni qo'llab-quvvatlaydi, bu aqlli soatlar va televizor ilovalarining ishlab chiqish davri uchun muhimdir.

Tez-tez so'raladigan savollar

Android Emulator iOS Simulator-dan qanday farq qiladi?

Android Emulator ko'rsatmalar tarjimasi bilan QEMU orqali to'liq ARM emulyatsiyasidan foydalanadi, iOS Simulator esa kodni host arxitekturasi uchun kompilyatsiya qiladi. Android Emulator GPU, kamera, sensorlar, Bluetooth, NFC qo'llab-quvvatlaydi — iOS Simulator bu funksiyalarning aksariyatini qo'llab-quvvatlamaydi.

Kodda ilova emulatorda ishga tushirilganligini qanday tekshirish mumkin?

Kotlin da Build.FINGERPRINT ni "generic" yoki "emulator" uchun, shuningdek Build.HARDWARE ni "ranchu" yoki "goldfish" uchun tekshiring. Build.PRODUCT ni qo'shimcha marker sifatida ishlating — emulator uchun "sdk_google" yoki "google_sdk" ni o'z ichiga oladi.

Android Emulator ishini qanday tezlashtirish mumkin?

Intel HAxM (Intel VT-x) yoki AMD protsessorlari uchun Windows Hyper-V Platform (WHPX) ni yoqing. Apparat tezlashtirish bilan x86_64 tizim obrazlaridan foydalaning. AVD Manager-da emulatorga kamida 4 GB RAM ajrating. Snapshot yuklash uchun Quick Boot ni yoqing.

Android Emulator-da NFC ni sinash mumkinmi?

Ha, Android Emulator Android 10 (API 29) dan boshlab NFC emulyatsiyasini qo'llab-quvvatlaydi. Extended Controls → Phone → NFC NDEF xabarlarini yuborish imkonini beradi. Teglarni o'qish/yozish, peer-to-peer va HCE rejimlari qo'llab-quvvatlanadi. To'liq sinov uchun NFC chipiga ega haqiqiy qurilmadan foydalaning.

AVD uchun qaysi tizim obrazlarini tanlash yaxshiroq?

Kundalik ishlab chiqish uchun Google APIs bilan x86_64 ni tanlang — maksimal unumdorlik va to'liq xizmatlar to'plami. Moslikni sinash uchun ARM64 obrazlaridan foydalaning. CI uchun — Google Play Services bo'lmagan obrazlar, ular kichikroq va tezroq yuklanadi.

Xulosa

  • Android Emulator — ARM tarjimasi, GPU, sensorlar va NFC qo'llab-quvvatlashi bilan QEMU asosidagi Android qurilmasining to'liq emulyatsiyasi
  • AVD Manager — arxitektura, API darajasi, RAM va apparat xususiyatlarini tanlash bilan virtual qurilmalarni sozlash
  • Apparat tezlashtirish — HAxM, Hyper-V va WHPX emulator unumdorligini 3-5 marta oshiradi
  • Muhitni tekshirish — Build.FINGERPRINT, Build.PRODUCT va Build.HARDWARE emulatorda ishga tushirishni aniqlash uchun
  • Extended Controls — ssenariylarni sinash uchun GPS, NFC, sensorlar, kiruvchi qo'ng'iroqlar va SMS simulyatsiyasi
  • CI avtomatlashtirish — CI-da samarali sinov uchun Gradle Managed Devices va x86_64 obrazlari
  • Quick Boot — emulator yuklash vaqtini 2-5 soniyagacha kamaytiradigan snapshot rejimi

Biz kalit topshirig'i bilan mobil ilovani ishlab chiqamiz

IT Sectr 2017-yildan beri startaplar va korxonalar uchun iOS va Android ilovalarini yaratadi. Biz sizga maslahat beramiz va eng yaxshi yechimni taklif qilamiz.

Loyihani muhokama qilish

Shuningdek o'qing