AVD Android: шта је то, Android Virtual Device и како подесити емулатор

Аутор: IT Sectr Објављено: 2026-02-09 Време читања: 10 мин

AVD (Android Virtual Device) — конфигурација емулатора која имитира прави Android уређај на рачунару програмера. Сваки AVD укључује изабрану верзију ОС (System Image), тип уређаја (телефон, таблет, Wear OS), величину екрана и количину меморије. Према Google Android Developers, 2026, AVD се користи за тестирање апликација на различитим верзијама и конфигурацијама Android-а без потребе за куповином десетина физичких уређаја. QEMU — хипервизор на којем ради емулатор.

Главне тачке

  • AVD — виртуелни Android уређај који ради на QEMU са изабраном System Image.
  • System Image — слика оперативног система одређеног API Level-а са или без Google услуга.
  • AVD Manager — алат Android Studio за креирање, подешавање и управљање виртуелним уређајима.
  • За продуктивно коришћење AVD-а потребна је хардверска виртуелизација (HAXM, Hypervisor.Framework или WHPX).
  • AVD омогућава тестирање апликација на различитим верзијама Android-а, величинама екрана и конфигурацијама без физичког уређаја.

Шта је AVD

AVD (Android Virtual Device) — софтверска конфигурација која описује виртуелни Android уређај. За разлику од физичког телефона, AVD не захтева хардвер — покреће се на рачунару преко Android емулатора заснованог на QEMU. Програмер креира онолико AVD-а колико је потребно за тестирање: за различите верзије Android-а, величине екрана, количине меморије и густине пиксела.

Сваки AVD је везан за одређену SDK Platform. То значи да за креирање AVD-а са Android 14 (API Level 34) прво морате да инсталирате System Image ове верзије преко SDK Manager-а. System Image је слика оперативног система која укључује све системске апликације, Google услуге (ако је изабрана слика Google APIs) и runtime компоненте. Google препоручује коришћење Google APIs слика са Google Play услугама за максималну компатибилност са правим уређајима.

AVD је незаменљив у развоју из неколико разлога. Прво, омогућава тестирање апликације на различитим верзијама Android-а без куповине десетина уређаја. Друго, AVD подржава Snapshots — чување стања система, што убрзава покретање. Треће, емулатор је интегрисан са Android Studio: инсталација APK-а, отклањање грешака и евидентирање раде исто као на физичком уређају.

Типови виртуелних уређаја

AVD подржава различите типове уређаја: телефоне (Phone), таблете (Tablet), сатове (Wear OS), телевизоре (Android TV) и аутомобилске системе (Android Automotive). За сваки тип, AVD Manager нуди готове профиле од Google-а: Pixel 8, Pixel 9 Pro, Nexus 7, Samsung Galaxy Tab и друге. Профил уређаја одређује величину екрана, резолуцију, густину пиксела (dpi) и навигацију (гестови или дугмад).

Тип уређајаПример профилаРезолуцијаdpi
PhonePixel 81080x2400420
PhonePixel 9 Pro1280x2856490
TabletPixel Tablet2560x1600320
Wear OSPixel Watch384x384320
Android TVAndroid TV 4K1920x1080240

Од чега се састоји AVD

Сваки AVD је скуп конфигурационих датотека и слика. Главна конфигурациона датотека — config.ini, која чува параметре виртуелног уређаја: име, тип, API Level, величину екрана, количину RAM-а и VM heap-а. Датотека се налази у директоријуму $HOME/.android/avd/ИмеAVD.avd/ и може се ручно мењати, иако се обично уређује преко AVD Manager-а.

Поред config.ini, у директоријуму AVD-а чувају се: userdata.img (слика корисничких података — апликације, подешавања, датотеке), system.img (референца на System Image инсталиране SDK Platform), cache.img (кеш) и sdcard.img (слика SD картице). При извођењу Wipe Data, userdata.img се брише и креира се нова празна слика. Snapshots се чувају у посебном фолдеру snapshots/ унутар директоријума AVD-а.

System Image се преузима одвојено од AVD-а — једна слика може користити више виртуелних уређаја. Системске слике се чувају у директоријуму Android SDK: $ANDROID_SDK/system-images/android-{API}/{type}/{arch}/. Типови слика: google_apis (са Google услугама), google_apis_playstore (са Google Play Store) и default (чисти AOSP без Google услуга).

Типови System Images

Тип сликеGoogle услугеGoogle PlayЗа шта
AOSP (default)НеНеОсновно тестирање, чисти Android
Google APIsДаНеТестирање Google услуга, Maps, FCM
Google PlayДаДаПотпуно тестирање са Play Store и лиценцирањем

Креирање AVD преко AVD Manager-а

AVD Manager — графички алат у Android Studio за креирање и управљање виртуелним уређајима. Може се отворити преко менија Tools → Device Manager или преко иконе на траци са алаткама. AVD Manager приказује листу креираних уређаја, њихов статус (покренут/заустављен), верзију Android-а и доступне радње (покретање, заустављање, wipe data, уређивање).

За креирање новог AVD-а кликните на дугме Create device. Изаберите профил уређаја са листе готових — Google нуди профиле за све популарне уређаје. Након избора профила, назначите System Image: верзију Android-а и тип слике. За нове пројекте изаберите најновију стабилну верзију са Google APIs сликом. Затим подесите име AVD-а, оријентацију екрана, количину RAM-а и VM heap-а. Након креирања, AVD је спреман за покретање.

Креирање AVD корак по корак из командне линије

bash
# Листа доступних System Images
sdkmanager --list | grep system-images

# Инсталација System Image за API 35 са Google APIs
sdkmanager "system-images;android-35;google_apis;x86_64"

# Креирање AVD са именом pixel8_api35
avdmanager create avd -n pixel8_api35 \
    -k "system-images;android-35;google_apis;x86_64" \
    -d pixel_8

# Покретање креираног AVD-а
emulator -avd pixel8_api35 -gpu host -memory 2048

# Листа свих AVD-а
avdmanager list avd

Подешавање хардверских карактеристика AVD-а

AVD Manager омогућава детаљно подешавање хардверских карактеристика виртуелног уређаја. Главни параметри: RAM (оперативна меморија, препоручена вредност 2048–4096 MB), VM heap (величина хипа виртуелне машине, 256–512 MB), Internal Storage (интерна меморија, 2–8 GB) и SD Card (виртуелна SD картица). Ови параметри утичу на перформансе апликације и њено понашање при недостатку меморије.

Додатна подешавања укључују: камеру (емулована или повезивање веб-камере домаћина), сензоре (акцелерометар, жироскоп), NFC, Bluetooth и батерију. На пример, за тестирање апликација за одређивање положаја може се емуловати ротација уређаја преко дугмади за контролу емулатора или преко ADB-а. Емулација сензора омогућава тестирање сценарија које је тешко репродуковати на физичком уређају.

Кључни параметри config.ini

ПараметарОписПрепоручена вредност
hw.ramSizeОперативна меморија уређаја2048
vm.heapSizeВеличина хипа виртуелне машине256
hw.gpuEnabledХардверско убрзање графикеyes
hw.gpuModeGPU режим (host/mesa)host
disk.dataPartition.sizeВеличина партиције података4096M
hw.cameraТип емулације камереemulated

Оптимизација перформанси емулатора

Брзина рада AVD-а директно зависи од хардверске виртуелизације. На Windows-у се користи Windows Hypervisor Platform (WHPX), на macOS-у — Hypervisor.Framework, на Linux-у — KVM. Ако је виртуелизација искључена, AVD ради у режиму чисто софтверске емулације, што је 10–20 пута спорије. Да бисте проверили да ли је виртуелизација укључена, покрените емулатор са заставицом -accel-check.

Други кључни фактор је избор архитектуре System Image. Слике x86_64 раде значајно брже од arm64-v8a на рачунарима са Intel и AMD процесорима, јер не захтевају динамичко превођење ARM инструкција. Увек користите x86_64 слике за развој на Windows и macOS са Intel процесорима. На ARM процесорима Mac (Apple Silicon) користите изворне arm64-v8a слике.

Заставице командне линије за убрзање

bash
# Покретање са хардверском виртуелизацијом и GPU убрзањем
emulator -avd pixel8_api35 -gpu host -memory 4096 -cores 4

# Провера подршке за виртуелизацију
emulator -accel-check

# Покретање без графичког интерфејса (за CI)
emulator -avd pixel8_api35 -no-window -no-audio -gpu off

# Коришћење snapshot-ова за брзо покретање
emulator -avd pixel8_api35 -snapshot mysnapshot -no-snapshot-save

Савети за перформансе емулатора

За максималне перформансе AVD-а: додијелите емулатору најмање 2–4 GB RAM-а, укључите GPU Host (користи графичку картицу рачунара за рендеровање), искључите звук (заставица -no-audio), ако није потребан, и користите Snapshots за брзи повратак у чисто стање. Snapshots чувају потпуно стање система — покретање из снимка траје 2–5 секунди уместо 30–60 секунди потпуног учитавања.

Такође се препоручује чување AVD-а на SSD диску — I/O операције при учитавању система и инсталацији APK-а значајно се убрзавају. За рад са више AVD-а истовремено, повећајте укупну количину RAM-а на рачунару и користите заставицу -read-only за непроменљиве емулаторе.

Управљање AVD из командне линије

Потпуна контрола над AVD-ом могућа је из командне линије без Android Studio. Алати avdmanager и emulator су део Android SDK-а и обављају све операције: креирање, брисање, покретање и подешавање AVD-а. Командна линија је посебно корисна у CI/CD пајплајновима, где нема графичког интерфејса, и за аутоматизацију тестирања.

Основне команде управљања AVD

bash
# Креирај AVD са прилагођеним параметрима
avdmanager create avd -n test_device \
    -k "system-images;android-34;google_apis;x86_64" \
    --device "pixel_8" \
    --force

# Обриши AVD
avdmanager delete avd -n test_device

# Клонирај AVD (копирањем датотека)
cp -r ~/.android/avd/pixel8_api35.avd ~/.android/avd/pixel8_clone.avd

# Ресетуј податке AVD-а
emulator -avd test_device -wipe-data

# Инсталирај APK на покренути AVD
adb -s emulator-5554 install app-release.apk

ADB и AVD: кључне команде

Након покретања AVD-а, можете радити са њим преко ADB (Android Debug Bridge) као са физичким уређајем. ADB омогућава инсталирање апликација, покретање intent-ова, емулацију догађаја (позиви, SMS, GPS), прављење снимака екрана и снимање видеа екрана. Ово чини AVD комплетним окружењем за аутоматизовано тестирање.

bash
# Листа повезаних уређаја (укључујући AVD)
adb devices

# Емулација долазног позива
adb emu gsm call +15551234567

# Емулација GPS координата
adb emu geo fix -122.084 37.422

# Направи снимак екрана
adb exec-out screencap -p > screenshot.png

# Пошаљи SMS
adb emu sms send +15551234567 "Hello from AVD"

Провера емулатора у коду апликације

Понекад програмер треба да утврди у коду да ли се апликација покреће на емулатору или на физичком уређају. То може бити потребно за искључивање аналитике (да не би загађивали продукционе податке), укључивање проширеног евидентирања или искључивање функција зависних од хардвера које не раде на емулатору. Google нуди стандардне методе провере преко Build класе и системских својстава.

Метод провере преко 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")
    }
}

// Коришћење
if (EmulatorDetector.isEmulator()) {
    Log.d("App", "Running on emulator — enable debug mode")
}

Провера преко системских својстава

Додатни метод — читање системских својстава преко Build.getRadioVersion() и провера ro.kernel.qemu. На емулатору radio version враћа null, а qemu својство је постављено на 1. Овај метод је поузданији на старијим верзијама Android-а, где Build.FINGERPRINT може бити измењен од стране произвођача уређаја.

kotlin
fun isRunningOnEmulator(): Boolean {
    // Провера преко radio version — на емулатору увек null
    val radioVersion = try {
        Build.getRadioVersion()
    } catch (e: Exception) {
        null
    }
    if (radioVersion.isNullOrBlank()) return true

    // Провера преко системских својстава
    return try {
        val props = ProcessBuilder()
            .command("getprop", "ro.kernel.qemu")
            .start()
            .inputStream.bufferedReader().readText().trim()
        props == "1"
    } catch (e: Exception) {
        false
    }
}

Често постављана питања

По чему се AVD разликује од физичког уређаја?

AVD ради на QEMU и не може у потпуности да имитира хардверске карактеристике: праву камеру, NFC, Bluetooth. AVD је идеалан за UI тестирање, проверу lifecycle-а и компатибилности са верзијама ОС. За прецизно тестирање камере и сензора потребан је физички уређај.

Колико AVD-а треба креирати?

Минимум 2–3 AVD-а: најновији API Level за проверу нових функција, минимални подржани (minSdk) за компатибилност и популарни модел уређаја (Pixel 8 или Samsung Galaxy) за тестирање UI-ја за одређени екран.

Зашто AVD ради споро?

Главни разлози: искључена хардверска виртуелизација (WHPX, Hypervisor.Framework, KVM), мало RAM-а (мање од 2 GB), искључен GPU Host. Укључите -gpu host и повећајте меморију на 2–4 GB — то ће убрзати емулатор 3–5 пута.

Може ли се AVD покренути без Android Studio?

Да. Емулатор се покреће преко emulator -avd Име_AVD из командне линије. За то су потребни Android SDK, Platform-Tools и инсталирана System Image. AVD Manager је такође доступан као конзолни алат avdmanager.

Како ресетовати AVD на фабричка подешавања?

У AVD Manager-у изаберите Wipe Data — то ће обрисати userdata.img и вратити емулатор у почетно стање. Из командне линије: emulator -avd Име -wipe-data. Snapshots се притом чувају, ако се не обришу одвојено.

Резиме

  • AVD — виртуелни Android уређај заснован на QEMU, који омогућава тестирање апликација без физичког телефона.
  • System Image — слика оперативног система одређеног API Level-а, доступна у варијантама AOSP, Google APIs и Google Play.
  • AVD Manager — алат за креирање, подешавање и управљање виртуелним уређајима у Android Studio или из командне линије.
  • За перформансе AVD-а обавезна је хардверска виртуелизација (WHPX, Hypervisor.Framework, KVM) и избор x86_64 слике.
  • Преко ADB-а доступне су све операције емулације: позиви, SMS, GPS, инсталација APK-а, снимци екрана — као на физичком уређају.
  • За детекцију емулатора у коду користите провере Build.FINGERPRINT, Build.HARDWARE и ro.kernel.qemu.
  • Чувајте AVD на SSD-у и користите Snapshots за убрзање покретања — смањује време учитавања са 60 на 2–5 секунди.

Развићемо мобилну апликацију под кључ

IT Sectr креира iOS и Android апликације за стартапе и предузећа од 2017. године. Саветоваћемо вас и предложити најбоље решење.

Разговарајте о пројекту

Прочитајте такође