AVD Android: ce este, Android Virtual Device și cum se configurează emulatorul

Autor: IT Sectr Publicat: 2026-02-09 Timp de citire: 10 min

AVD (Android Virtual Device) — este o configurație de emulator care imită un dispozitiv Android real pe computerul dezvoltatorului. Fiecare AVD include versiunea selectată a sistemului de operare (System Image), tipul dispozitivului (telefon, tabletă, Wear OS), dimensiunea ecranului și cantitatea de memorie. Potrivit Google Android Developers, 2026, AVD este utilizat pentru testarea aplicațiilor pe diferite versiuni și configurații Android fără a fi nevoie să cumpărați zeci de dispozitive fizice. QEMU — hipervizorul pe care rulează emulatorul.

Principalele puncte

  • AVD — dispozitiv virtual Android care rulează pe QEMU cu System Image selectată.
  • System Image — imaginea sistemului de operare cu un anumit API Level, cu sau fără servicii Google.
  • AVD Manager — instrumentul Android Studio pentru crearea, configurarea și gestionarea dispozitivelor virtuale.
  • Pentru funcționarea performantă a AVD este necesară virtualizarea hardware (HAXM, Hypervisor.Framework sau WHPX).
  • AVD permite testarea aplicațiilor pe diferite versiuni Android, dimensiuni de ecran și configurații fără un dispozitiv fizic.

Ce este AVD

AVD (Android Virtual Device) — este o configurație software care descrie un dispozitiv virtual Android. Spre deosebire de un telefon fizic, AVD nu necesită hardware — rulează pe computer prin emulatorul Android bazat pe QEMU. Dezvoltatorul creează câte AVD-uri sunt necesare pentru testare: pentru diferite versiuni Android, dimensiuni de ecran, cantități de memorie și densități de pixeli.

Fiecare AVD este legat de o anumită SDK Platform. Aceasta înseamnă că pentru a crea un AVD cu Android 14 (API Level 34) trebuie mai întâi să instalați System Image a acestei versiuni prin SDK Manager. System Image este o imagine a sistemului de operare care include toate aplicațiile de sistem, serviciile Google (dacă a fost selectată imaginea Google APIs) și componentele runtime. Google recomandă utilizarea imaginilor Google APIs cu servicii Google Play pentru compatibilitate maximă cu dispozitivele reale.

AVD este indispensabil în dezvoltare din mai multe motive. În primul rând, permite testarea aplicației pe diferite versiuni Android fără a cumpăra zeci de dispozitive. În al doilea rând, AVD suportă Snapshots — salvarea stării sistemului, ceea ce accelerează pornirea. În al treilea rând, emulatorul este integrat cu Android Studio: instalarea APK, depanarea și logarea funcționează la fel ca pe un dispozitiv fizic.

Tipuri de dispozitive virtuale

AVD suportă diferite tipuri de dispozitive: telefoane (Phone), tablete (Tablet), ceasuri (Wear OS), televizoare (Android TV) și sisteme auto (Android Automotive). Pentru fiecare tip, AVD Manager oferă profiluri gata făcute de la Google: Pixel 8, Pixel 9 Pro, Nexus 7, Samsung Galaxy Tab și altele. Profilul dispozitivului stabilește dimensiunea ecranului, rezoluția, densitatea pixelilor (dpi) și navigația (gesturi sau butoane).

Tip dispozitivProfil exempluRezoluțiedpi
PhonePixel 81080x2400420
PhonePixel 9 Pro1280x2856490
TabletPixel Tablet2560x1600320
Wear OSPixel Watch384x384320
Android TVAndroid TV 4K1920x1080240

Din ce este format AVD

Fiecare AVD este un set de fișiere de configurare și imagini. Fișierul principal de configurare — config.ini, care stochează parametrii dispozitivului virtual: nume, tip, API Level, dimensiune ecran, cantitate RAM și VM heap. Fișierul se află în directorul $HOME/.android/avd/NumeAVD.avd/ și poate fi modificat manual, deși de obicei se editează prin AVD Manager.

Pe lângă config.ini, în directorul AVD se stochează: userdata.img (imaginea datelor utilizatorului — aplicații, setări, fișiere), system.img (referință la System Image a SDK Platform instalate), cache.img (cache) și sdcard.img (imaginea cardului SD). La executarea Wipe Data, userdata.img este șters și se creează o imagine nouă goală. Snapshots se salvează într-un folder separat snapshots/ în interiorul directorului AVD.

System Image se descarcă separat de AVD — o imagine poate fi utilizată de mai multe dispozitive virtuale. Imaginile de sistem sunt stocate în directorul Android SDK: $ANDROID_SDK/system-images/android-{API}/{type}/{arch}/. Tipuri de imagini: google_apis (cu servicii Google), google_apis_playstore (cu Google Play Store) și default (AOSP pur fără servicii Google).

Tipuri de System Images

Tip imagineServicii GoogleGoogle PlayPentru ce
AOSP (default)NuNuTestare de bază, Android pur
Google APIsDaNuTestarea serviciilor Google, Maps, FCM
Google PlayDaDaTestare completă cu Play Store și licențiere

Crearea AVD prin AVD Manager

AVD Manager — este un instrument grafic în Android Studio pentru crearea și gestionarea dispozitivelor virtuale. Se poate deschide prin meniul Tools → Device Manager sau prin pictograma din bara de instrumente. AVD Manager afișează lista dispozitivelor create, starea lor (pornit/oprit), versiunea Android și acțiunile disponibile (pornire, oprire, wipe data, editare).

Pentru a crea un nou AVD, faceți clic pe butonul Create device. Selectați un profil de dispozitiv din lista gata făcută — Google oferă profiluri pentru toate dispozitivele populare. După selectarea profilului, indicați System Image: versiunea Android și tipul imaginii. Pentru proiecte noi, alegeți cea mai recentă versiune stabilă cu imaginea Google APIs. Apoi configurați numele AVD, orientarea ecranului, cantitatea de RAM și VM heap. După creare, AVD este gata de pornire.

Crearea pas cu pas a AVD din linia de comandă

bash
# Lista System Images disponibile
sdkmanager --list | grep system-images

# Instalarea System Image pentru API 35 cu Google APIs
sdkmanager "system-images;android-35;google_apis;x86_64"

# Crearea AVD cu numele pixel8_api35
avdmanager create avd -n pixel8_api35 \
    -k "system-images;android-35;google_apis;x86_64" \
    -d pixel_8

# Pornirea AVD-ului creat
emulator -avd pixel8_api35 -gpu host -memory 2048

# Lista tuturor AVD-urilor
avdmanager list avd

Configurarea caracteristicilor hardware AVD

AVD Manager permite configurarea detaliată a caracteristicilor hardware ale dispozitivului virtual. Principalii parametri: RAM (memorie operativă, valoare recomandată 2048–4096 MB), VM heap (dimensiunea heap-ului mașinii virtuale, 256–512 MB), Internal Storage (memorie internă, 2–8 GB) și SD Card (card SD virtual). Acești parametri influențează performanța aplicației și comportamentul acesteia la lipsa de memorie.

Setări suplimentare includ: cameră (emulată sau conectarea camerei web a gazdei), senzori (accelerometru, giroscop), NFC, Bluetooth și baterie. De exemplu, pentru testarea aplicațiilor cu detectarea poziției, se poate emula rotirea dispozitivului prin butoanele de control ale emulatorului sau prin ADB. Emularea senzorilor permite testarea scenariilor dificil de reprodus pe un dispozitiv fizic.

Parametrii cheie ai config.ini

ParametruDescriereValoare recomandată
hw.ramSizeMemoria operativă a dispozitivului2048
vm.heapSizeDimensiunea heap-ului mașinii virtuale256
hw.gpuEnabledAccelerarea hardware a graficiiyes
hw.gpuModeMod GPU (host/mesa)host
disk.dataPartition.sizeDimensiunea partiției de date4096M
hw.cameraTipul emulării camereiemulated

Optimizarea performanței emulatorului

Viteza de funcționare a AVD depinde direct de virtualizarea hardware. Pe Windows se utilizează Windows Hypervisor Platform (WHPX), pe macOS — Hypervisor.Framework, pe Linux — KVM. Dacă virtualizarea este dezactivată, AVD funcționează în modul de emulare pur software, care este de 10–20 de ori mai lent. Pentru a verifica dacă virtualizarea este activată, rulați emulatorul cu flagul -accel-check.

Al doilea factor cheie este alegerea arhitecturii System Image. Imaginile x86_64 funcționează semnificativ mai rapid decât arm64-v8a pe computere cu procesoare Intel și AMD, deoarece nu necesită traducerea dinamică a instrucțiunilor ARM. Utilizați întotdeauna imagini x86_64 pentru dezvoltare pe Windows și macOS cu procesoare Intel. Pe procesoarele ARM Mac (Apple Silicon) utilizați imagini native arm64-v8a.

Flaguri din linia de comandă pentru accelerare

bash
# Pornirea cu virtualizare hardware și accelerare GPU
emulator -avd pixel8_api35 -gpu host -memory 4096 -cores 4

# Verificarea suportului de virtualizare
emulator -accel-check

# Pornirea fără interfață grafică (pentru CI)
emulator -avd pixel8_api35 -no-window -no-audio -gpu off

# Utilizarea snapshot-urilor pentru pornire rapidă
emulator -avd pixel8_api35 -snapshot mysnapshot -no-snapshot-save

Sfaturi de performanță pentru emulator

Pentru performanță maximă AVD: alocați emulatorului cel puțin 2–4 GB RAM, activați GPU Host (folosește placa video a computerului pentru randare), dezactivați sunetul (flag -no-audio), dacă nu este necesar, și utilizați Snapshots pentru revenirea rapidă la o stare curată. Snapshots salvează starea completă a sistemului — pornirea dintr-un instantaneu durează 2–5 secunde în loc de 30–60 de secunde pentru încărcarea completă.

De asemenea, se recomandă stocarea AVD pe un SSD — operațiile de intrare-ieșire la încărcarea sistemului și instalarea APK se accelerează semnificativ. Pentru lucrul cu mai multe AVD simultan, măriți cantitatea totală de RAM pe computer și utilizați flagul -read-only pentru emulatoarele imuabile.

Gestionarea AVD din linia de comandă

Controlul complet asupra AVD este posibil din linia de comandă fără Android Studio. Instrumentele avdmanager și emulator fac parte din Android SDK și execută toate operațiile: crearea, ștergerea, pornirea și configurarea AVD. Linia de comandă este utilă în special în pipeline-urile CI/CD, unde nu există interfață grafică, și pentru automatizarea testării.

Comenzi principale de gestionare AVD

bash
# Creează AVD cu parametri personalizați
avdmanager create avd -n test_device \
    -k "system-images;android-34;google_apis;x86_64" \
    --device "pixel_8" \
    --force

# Șterge AVD
avdmanager delete avd -n test_device

# Clonează AVD (prin copierea fișierelor)
cp -r ~/.android/avd/pixel8_api35.avd ~/.android/avd/pixel8_clone.avd

# Resetează datele AVD
emulator -avd test_device -wipe-data

# Instalează APK pe AVD-ul pornit
adb -s emulator-5554 install app-release.apk

ADB și AVD: comenzi cheie

După pornirea AVD, se poate lucra cu el prin ADB (Android Debug Bridge) ca și cu un dispozitiv fizic. ADB permite instalarea aplicațiilor, rularea intent-urilor, emularea evenimentelor (apeluri, SMS, GPS), realizarea de capturi de ecran și înregistrarea video a ecranului. Acest lucru face din AVD un mediu complet pentru testare automatizată.

bash
# Lista dispozitivelor conectate (inclusiv AVD)
adb devices

# Emularea unui apel primit
adb emu gsm call +15551234567

# Emularea coordonatelor GPS
adb emu geo fix -122.084 37.422

# Fă o captură de ecran
adb exec-out screencap -p > screenshot.png

# Trimite SMS
adb emu sms send +15551234567 "Hello from AVD"

Verificarea emulatorului în codul aplicației

Uneori, dezvoltatorul trebuie să determine în cod dacă aplicația rulează pe un emulator sau pe un dispozitiv fizic. Acest lucru poate fi necesar pentru dezactivarea analiticii (pentru a nu polua datele de producție), activarea logării extinse sau dezactivarea funcțiilor dependente de hardware care nu funcționează pe emulator. Google oferă metode standard de verificare prin clasa Build și proprietățile sistemului.

Metoda de verificare prin proprietatea Build

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

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

Verificarea prin proprietățile sistemului

Metoda suplimentară — citirea proprietăților sistemului prin Build.getRadioVersion() și verificarea ro.kernel.qemu. Pe emulator, radio version returnează null, iar proprietatea qemu este setată la 1. Această metodă este mai fiabilă pe versiunile vechi de Android, unde Build.FINGERPRINT poate fi modificat de producătorul dispozitivului.

kotlin
fun isRunningOnEmulator(): Boolean {
    // Verificarea prin radio version — pe emulator întotdeauna null
    val radioVersion = try {
        Build.getRadioVersion()
    } catch (e: Exception) {
        null
    }
    if (radioVersion.isNullOrBlank()) return true

    // Verificarea prin proprietățile sistemului
    return try {
        val props = ProcessBuilder()
            .command("getprop", "ro.kernel.qemu")
            .start()
            .inputStream.bufferedReader().readText().trim()
        props == "1"
    } catch (e: Exception) {
        false
    }
}

Întrebări frecvente

Cu ce se diferențiază AVD de un dispozitiv fizic?

AVD rulează pe QEMU și nu poate imita complet caracteristicile hardware: camera reală, NFC, Bluetooth. AVD este ideal pentru testarea UI, verificarea lifecycle și compatibilitatea cu versiunile sistemului de operare. Pentru testarea precisă a camerei și senzorilor este necesar un dispozitiv fizic.

Câte AVD-uri trebuie create?

Minimum 2–3 AVD-uri: cel mai recent API Level pentru verificarea funcțiilor noi, minimul suportat (minSdk) pentru compatibilitate și un model popular de dispozitiv (Pixel 8 sau Samsung Galaxy) pentru testarea UI pe un ecran specific.

De ce funcționează AVD încet?

Cauze principale: virtualizarea hardware este dezactivată (WHPX, Hypervisor.Framework, KVM), puțină RAM (sub 2 GB), GPU Host dezactivat. Activați -gpu host și măriți memoria la 2–4 GB — aceasta va accelera emulatorul de 3–5 ori.

Se poate rula AVD fără Android Studio?

Da. Emulatorul se pornește prin emulator -avd Nume_AVD din linia de comandă. Pentru aceasta sunt necesare Android SDK, Platform-Tools și System Image instalată. AVD Manager este disponibil și ca utilitar de consolă avdmanager.

Cum se resetează AVD la setările din fabrică?

În AVD Manager selectați Wipe Data — aceasta va șterge userdata.img și va readuce emulatorul la starea inițială. Din linia de comandă: emulator -avd Nume -wipe-data. Snapshots se păstrează, dacă nu sunt șterse separat.

Rezumat

  • AVD — dispozitiv virtual Android bazat pe QEMU, care permite testarea aplicațiilor fără un telefon fizic.
  • System Image — imaginea sistemului de operare cu un anumit API Level, disponibilă în variantele AOSP, Google APIs și Google Play.
  • AVD Manager — instrument pentru crearea, configurarea și gestionarea dispozitivelor virtuale în Android Studio sau din linia de comandă.
  • Pentru performanța AVD este obligatorie virtualizarea hardware (WHPX, Hypervisor.Framework, KVM) și alegerea imaginii x86_64.
  • Prin ADB sunt disponibile toate operațiile de emulare: apeluri, SMS, GPS, instalare APK, capturi de ecran — ca pe un dispozitiv fizic.
  • Pentru detectarea emulatorului în cod, utilizați verificările Build.FINGERPRINT, Build.HARDWARE și ro.kernel.qemu.
  • Stocați AVD pe SSD și utilizați Snapshots pentru accelerarea pornirii — aceasta reduce timpul de încărcare de la 60 la 2–5 secunde.

Vom dezvolta o aplicație mobilă la cheie

IT Sectr creează aplicații iOS și Android pentru startup-uri și afaceri din 2017. Vă vom consilia și vă vom propune cea mai bună soluție.

Discutați proiectul

Citiți și