AVD Android: bu nədir, Android Virtual Device və emulatoru necə qurmaq olar

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

AVD (Android Virtual Device) — proqramçının kompüterində real Android cihazını təqlid edən emulator konfiqurasiyasıdır. Hər bir AVD seçilmiş OS versiyasını (System Image), cihaz növünü (telefon, planşet, Wear OS), ekran ölçüsünü və yaddaş miqdarını əhatə edir. Google Android Developers, 2026 məlumatına görə, AVD onlarla fiziki cihaz almaq zərurəti olmadan tətbiqləri müxtəlif Android versiyaları və konfiqurasiyalarında test etmək üçün istifadə olunur. QEMU — emulatorun işlədiyi hipervizordur.

Əsas məqamlar

  • AVD — seçilmiş System Image ilə QEMU üzərində işləyən virtual Android cihazı.
  • System Image — müəyyən API Level-in Google xidmətləri ilə və ya olmadan əməliyyat sistemi təsviri.
  • AVD Manager — virtual cihazları yaratmaq, konfiqurasiya etmək və idarə etmək üçün Android Studio aləti.
  • AVD-nin məhsuldar işləməsi üçün aparat virtualizasiyası tələb olunur (HAXM, Hypervisor.Framework və ya WHPX).
  • AVD fiziki cihaz olmadan tətbiqləri müxtəlif Android versiyaları, ekran ölçüləri və konfiqurasiyalarında test etməyə imkan verir.

AVD nədir

AVD (Android Virtual Device) — virtual Android cihazını təsvir edən proqram konfiqurasiyasıdır. Fiziki telefondan fərqli olaraq, AVD aparat tələb etmir — o, QEMU əsaslı Android emulatoru vasitəsilə kompüterdə işə salınır. Proqramçı test üçün lazım olan qədər AVD yaradır: müxtəlif Android versiyaları, ekran ölçüləri, yaddaş həcmləri və piksel sıxlıqları üçün.

Hər bir AVD müəyyən SDK Platform-a bağlıdır. Bu o deməkdir ki, Android 14 (API Level 34) ilə AVD yaratmaq üçün əvvəlcə SDK Manager vasitəsilə bu versiyanın System Image-ni quraşdırmaq lazımdır. System Image — bütün sistem tətbiqlərini, Google xidmətlərini (əgər Google APIs təsviri seçilibsə) və runtime komponentlərini özündə birləşdirən əməliyyat sistemi təsviridir. Google tövsiyə edir maksimum uyğunluq üçün Google Play xidmətləri ilə Google APIs təsvirlərindən istifadə etməyi.

AVD proqramlaşdırmada bir neçə səbəbə görə əvəzolunmazdır. Birincisi, onlarla cihaz almadan tətbiqi müxtəlif Android versiyalarında test etməyə imkan verir. İkincisi, AVD Snapshots — sistem vəziyyətinin saxlanmasını dəstəkləyir, bu da işə salmanı sürətləndirir. Üçüncüsü, emulator Android Studio ilə inteqrasiya olunub: APK quraşdırma, debug və loglama fiziki cihazda olduğu kimi işləyir.

Virtual cihaz növləri

AVD müxtəlif cihaz növlərini dəstəkləyir: telefonlar (Phone), planşetlər (Tablet), saatlar (Wear OS), televizorlar (Android TV) və avtomobil sistemləri (Android Automotive). Hər bir növ üçün AVD Manager Google-dan hazır profillər təqdim edir: Pixel 8, Pixel 9 Pro, Nexus 7, Samsung Galaxy Tab və digərləri. Cihaz profili ekran ölçüsünü, qətnaməni, piksel sıxlığını (dpi) və naviqasiyanı (jestlər və ya düymələr) təyin edir.

Cihaz növüNümunə profilQətnamədpi
PhonePixel 81080x2400420
PhonePixel 9 Pro1280x2856490
TabletPixel Tablet2560x1600320
Wear OSPixel Watch384x384320
Android TVAndroid TV 4K1920x1080240

AVD nədən ibarətdir

Hər bir AVD konfiqurasiya faylları və təsvirlər dəstidir. Əsas konfiqurasiya faylı — config.ini, virtual cihazın parametrlərini saxlayır: ad, növ, API Level, ekran ölçüsü, RAM və VM heap həcmi. Fayl $HOME/.android/avd/AVDAdı.avd/ kataloqunda yerləşir və əl ilə dəyişdirilə bilər, baxmayaraq ki, adətən AVD Manager vasitəsilə redaktə edilir.

config.ini-dən əlavə, AVD kataloqunda saxlanılır: userdata.img (istifadəçi məlumatlarının təsviri — tətbiqlər, parametrlər, fayllar), system.img (quraşdırılmış SDK Platform-un System Image-nə istinad), cache.img (keş) və sdcard.img (SD kart təsviri). Wipe Data yerinə yetirilərkən userdata.img silinir və yeni boş təsvir yaradılır. Snapshots AVD kataloqu daxilində ayrıca snapshots/ qovluğunda saxlanılır.

System Image AVD-dən ayrı yüklənir — bir təsvir bir neçə virtual cihaz tərəfindən istifadə edilə bilər. Sistem təsvirləri Android SDK kataloqunda saxlanılır: $ANDROID_SDK/system-images/android-{API}/{type}/{arch}/. Təsvir növləri: google_apis (Google xidmətləri ilə), google_apis_playstore (Google Play Store ilə) və default (Google xidmətləri olmadan təmiz AOSP).

System Images növləri

Təsvir növüGoogle xidmətləriGoogle PlayNə üçün
AOSP (default)YoxYoxƏsas test, təmiz Android
Google APIsBəliYoxGoogle xidmətlərinin, Maps, FCM testi
Google PlayBəliBəliPlay Store və lisenziyalaşdırma ilə tam test

AVD Manager vasitəsilə AVD yaratmaq

AVD Manager — Android Studio-da virtual cihazları yaratmaq və idarə etmək üçün qrafik alətdir. Onu Tools → Device Manager menyusu və ya alətlər panelindəki işarə vasitəsilə açmaq olar. AVD Manager yaradılmış cihazların siyahısını, onların statusunu (işləyir/dayandırılıb), Android versiyasını və mövcud əməliyyatları (işə salma, dayandırma, wipe data, redaktə) göstərir.

Yeni AVD yaratmaq üçün Create device düyməsini sıxın. Hazır profillər siyahısından cihaz profilini seçin — Google bütün məşhur cihazlar üçün profillər təqdim edir. Profil seçdikdən sonra System Image göstərin: Android versiyası və təsvir növü. Yeni layihələr üçün Google APIs təsviri ilə ən son stabil versiyanı seçin. Sonra AVD adını, ekran oriyentasiyasını, RAM və VM heap həcmini konfiqurasiya edin. Yaradıldıqdan sonra AVD işə salmağa hazırdır.

Əmr sətrindən addım-addım AVD yaratma

bash
# Mövcud System Images siyahısı
sdkmanager --list | grep system-images

# Google APIs ilə API 35 üçün System Image quraşdırılması
sdkmanager "system-images;android-35;google_apis;x86_64"

# pixel8_api35 adı ilə AVD yaradılması
avdmanager create avd -n pixel8_api35 \
    -k "system-images;android-35;google_apis;x86_64" \
    -d pixel_8

# Yaradılmış AVD-nin işə salınması
emulator -avd pixel8_api35 -gpu host -memory 2048

# Bütün AVD-lərin siyahısı
avdmanager list avd

AVD aparat xüsusiyyətlərinin konfiqurasiyası

AVD Manager virtual cihazın aparat xüsusiyyətlərini ətraflı konfiqurasiya etməyə imkan verir. Əsas parametrlər: RAM (operativ yaddaş, tövsiyə olunan dəyər 2048–4096 MB), VM heap (virtual maşın yığınının ölçüsü, 256–512 MB), Internal Storage (daxili yaddaş, 2–8 GB) və SD Card (virtual SD kart). Bu parametrlər tətbiqin performansına və yaddaş çatışmazlığı zamanı davranışına təsir edir.

Əlavə parametrlərə daxildir: kamera (emulə edilmiş və ya host veb-kameranın qoşulması), sensorlar (akselerometr, giroskop), NFC, Bluetooth və batareya. Məsələn, mövqe təyini ilə tətbiqləri test etmək üçün emulatorun idarəetmə düymələri və ya ADB vasitəsilə cihazın fırlanmasını emulə etmək olar. Sensorların emulasiyası fiziki cihazda çətin təkrarlanan ssenariləri test etməyə imkan verir.

config.ini-nin əsas parametrləri

ParametrTəsvirTövsiyə olunan dəyər
hw.ramSizeCihazın operativ yaddaşı2048
vm.heapSizeVirtual maşın yığınının ölçüsü256
hw.gpuEnabledQrafikin aparat sürətləndirilməsiyes
hw.gpuModeGPU rejimi (host/mesa)host
disk.dataPartition.sizeMəlumat bölməsinin ölçüsü4096M
hw.cameraKamera emulasiyasının növüemulated

Emulator performansının optimallaşdırılması

AVD-nin iş sürəti birbaşa aparat virtualizasiyasından asılıdır. Windows-da Windows Hypervisor Platform (WHPX), macOS-da Hypervisor.Framework, Linux-da KVM istifadə olunur. Virtualizasiya söndürülübsə, AVD təmiz proqram emulasiyası rejimində işləyir, bu da 10–20 dəfə yavaşdır. Virtualizasiyanın açıq olub-olmadığını yoxlamaq üçün emulatoru -accel-check flagı ilə işə salın.

İkinci əsas amil System Image arxitekturasının seçimidir. x86_64 təsvirləri Intel və AMD prosessorlu kompüterlərdə arm64-v8a-dan əhəmiyyətli dərəcədə sürətli işləyir, çünki ARM təlimatlarının dinamik tərcüməsini tələb etmir. Intel prosessorlu Windows və macOS-da proqramlaşdırma üçün həmişə x86_64 təsvirlərindən istifadə edin. Mac (Apple Silicon) ARM prosessorlarında yerli arm64-v8a təsvirlərindən istifadə edin.

Sürətləndirmə üçün əmr sətri flagları

bash
# Aparat virtualizasiyası və GPU sürətləndirilməsi ilə işə salma
emulator -avd pixel8_api35 -gpu host -memory 4096 -cores 4

# Virtualizasiya dəstəyinin yoxlanılması
emulator -accel-check

# Qrafik interfeysi olmadan işə salma (CI üçün)
emulator -avd pixel8_api35 -no-window -no-audio -gpu off

# Sürətli işə salma üçün snapshot-lardan istifadə
emulator -avd pixel8_api35 -snapshot mysnapshot -no-snapshot-save

Emulator performansı üçün məsləhətlər

Maksimum AVD performansı üçün: emulatora ən azı 2–4 GB RAM ayırın, GPU Host-u aktivləşdirin (render üçün kompüterin video kartından istifadə edir), səsi söndürün (-no-audio flagı), əgər tələb olunmursa, və təmiz vəziyyətə sürətli qayıtmaq üçün Snapshots-dan istifadə edin. Snapshots sistemin tam vəziyyətini saxlayır — şəkildən işə salma 30–60 saniyə tam yükləmə əvəzinə 2–5 saniyə çəkir.

Həmçinin AVD-ni SSD diskdə saxlamaq tövsiyə olunur — sistem yükləməsi və APK quraşdırılması zamanı giriş-çıxış əməliyyatları əhəmiyyətli dərəcədə sürətlənir. Eyni anda bir neçə AVD ilə işləmək üçün kompüterdə ümumi RAM miqdarını artırın və dəyişməz emulatorlar üçün -read-only flagından istifadə edin.

Əmr sətrindən AVD idarəetməsi

AVD üzərində tam nəzarət Android Studio olmadan əmr sətrindən mümkündür. avdmanageremulator alətləri Android SDK-nın tərkibinə daxildir və bütün əməliyyatları yerinə yetirir: AVD-nin yaradılması, silinməsi, işə salınması və konfiqurasiyası. Əmr sətri xüsusilə qrafik interfeysi olmayan CI/CD pipeline-larında və test avtomatlaşdırması üçün faydalıdır.

AVD idarəetməsinin əsas əmrləri

bash
# Xüsusi parametrlərlə AVD yarat
avdmanager create avd -n test_device \
    -k "system-images;android-34;google_apis;x86_64" \
    --device "pixel_8" \
    --force

# AVD-ni sil
avdmanager delete avd -n test_device

# AVD-ni klonla (faylları kopyalamaqla)
cp -r ~/.android/avd/pixel8_api35.avd ~/.android/avd/pixel8_clone.avd

# AVD məlumatlarını sıfırla
emulator -avd test_device -wipe-data

# İşləyən AVD-də APK quraşdır
adb -s emulator-5554 install app-release.apk

ADB və AVD: əsas əmrlər

AVD işə salındıqdan sonra onunla ADB (Android Debug Bridge) vasitəsilə fiziki cihaz kimi işləmək olar. ADB tətbiqləri quraşdırmağa, intent-ləri işə salmağa, hadisələri (zənglər, SMS, GPS) emulə etməyə, ekran şəkilləri çəkməyə və ekran videosunu yazmağa imkan verir. Bu, AVD-ni avtomatlaşdırılmış test üçün tam hüquqlu mühitə çevirir.

bash
# Qoşulmuş cihazların siyahısı (AVD daxil olmaqla)
adb devices

# Daxil olan zəngin emulasiyası
adb emu gsm call +15551234567

# GPS koordinatlarının emulasiyası
adb emu geo fix -122.084 37.422

# Ekran şəkli çək
adb exec-out screencap -p > screenshot.png

# SMS göndər
adb emu sms send +15551234567 "Hello from AVD"

Tətbiq kodunda emulatorun yoxlanılması

Bəzən proqramçı kodda tətbiqin emulator və ya fiziki cihazda işə salındığını müəyyən etməlidir. Bu, analitikanı söndürmək (prodakşn məlumatlarını çirkləndirməmək üçün), genişləndirilmiş loglamanı aktivləşdirmək və ya emulatorda işləməyən aparatdan asılı funksiyaları söndürmək üçün lazım ola bilər. Google Build sinfi və sistem xüsusiyyətləri vasitəsilə yoxlama üçün standart metodlar təqdim edir.

Build xüsusiyyəti ilə yoxlama metodu

kotlin
object EmulatorDetector {
    fun isEmulator(): Boolean {
        return (Build.BRAND.startsWith("generic") &&
                Build.DEVICE.startsWith("generic")) ||
                Build.FINGERPRINT.startsWith("generic") ||
                Build.FINGERPRINT.startsWith("unknown") ||
                Build.HARDWARE.contains("goldfish") ||
                Build.HARDWARE.contains("ranchu") ||
                Build.MODEL.contains("google_sdk") ||
                Build.MODEL.contains("Emulator") ||
                Build.MODEL.contains("Android SDK")
    }
}

// İstifadə
if (EmulatorDetector.isEmulator()) {
    Log.d("App", "Running on emulator — enable debug mode")
}

Sistem xüsusiyyətləri ilə yoxlama

Əlavə üsul — Build.getRadioVersion() vasitəsilə sistem xüsusiyyətlərini oxumaq və ro.kernel.qemu-nu yoxlamaq. Emulatorda radio version null qaytarır, qemu xüsusiyyəti isə 1 olaraq təyin edilir. Bu üsul Build.FINGERPRINT-in cihaz istehsalçısı tərəfindən dəyişdirilə biləcəyi köhnə Android versiyalarında daha etibarlıdır.

kotlin
fun isRunningOnEmulator(): Boolean {
    // Radio version vasitəsilə yoxlama — emulatorda həmişə null
    val radioVersion = try {
        Build.getRadioVersion()
    } catch (e: Exception) {
        null
    }
    if (radioVersion.isNullOrBlank()) return true

    // Sistem xüsusiyyətləri vasitəsilə yoxlama
    return try {
        val props = ProcessBuilder()
            .command("getprop", "ro.kernel.qemu")
            .start()
            .inputStream.bufferedReader().readText().trim()
        props == "1"
    } catch (e: Exception) {
        false
    }
}

Tez-tez verilən suallar

AVD fiziki cihazdan nə ilə fərqlənir?

AVD QEMU üzərində işləyir və aparat xüsusiyyətlərini tam təqlid edə bilməz: real kamera, NFC, Bluetooth. AVD UI testi, lifecycle yoxlaması və OS versiyaları ilə uyğunluq üçün idealdır. Kamera və sensorların dəqiq testi üçün fiziki cihaz lazımdır.

Neçə AVD yaratmaq lazımdır?

Minimum 2–3 AVD: ən yeni API Level yeni funksiyaları yoxlamaq üçün, minimum dəstəklənən (minSdk) uyğunluq üçün və məşhur cihaz modeli (Pixel 8 və ya Samsung Galaxy) müəyyən ekran altında UI testi üçün.

Niyə AVD yavaş işləyir?

Əsas səbəblər: aparat virtualizasiyası söndürülüb (WHPX, Hypervisor.Framework, KVM), az RAM (2 GB-dan az), GPU Host söndürülüb. -gpu host-u aktivləşdirin və yaddaşı 2–4 GB-a qədər artırın — bu emulatoru 3–5 dəfə sürətləndirəcək.

AVD-ni Android Studio olmadan işə salmaq olar?

Bəli. Emulator emulator -avd AVD_Adı vasitəsilə əmr sətrindən işə salınır. Bunun üçün Android SDK, Platform-Tools və quraşdırılmış System Image lazımdır. AVD Manager həmçinin avdmanager konsol yardımçı proqramı kimi mövcuddur.

AVD-ni zavod parametrlərinə necə sıfırlamaq olar?

AVD Manager-də Wipe Data seçin — bu userdata.img-i siləcək və emulatoru ilkin vəziyyətə qaytaracaq. Əmr sətrindən: emulator -avd Ad -wipe-data. Snapshots ayrıca silinməyibsə, qorunur.

Nəticə

  • AVD — QEMU əsasında virtual Android cihazı, fiziki telefon olmadan tətbiqləri test etməyə imkan verir.
  • System Image — müəyyən API Level-in əməliyyat sistemi təsviri, AOSP, Google APIs və Google Play variantlarında mövcuddur.
  • AVD Manager — Android Studio-da və ya əmr sətrindən virtual cihazları yaratmaq, konfiqurasiya etmək və idarə etmək üçün alət.
  • AVD performansı üçün aparat virtualizasiyası (WHPX, Hypervisor.Framework, KVM) və x86_64 təsvirinin seçimi məcburidir.
  • ADB vasitəsilə bütün emulasiya əməliyyatları mövcuddur: zənglər, SMS, GPS, APK quraşdırma, ekran şəkilləri — fiziki cihazda olduğu kimi.
  • Kodda emulatoru müəyyən etmək üçün Build.FINGERPRINT, Build.HARDWARE və ro.kernel.qemu yoxlamalarından istifadə edin.
  • AVD-ni SSD-də saxlayın və işə salmanı sürətləndirmək üçün Snapshots-dan istifadə edin — bu yükləmə vaxtını 60 saniyədən 2–5 saniyəyə endirir.

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