Android Emulator — co to je a jak funguje emulace

Autor: IT Sectr Publikováno: 2026-02-09 Doba čtení: 8 min

Android Emulator — komponenta Android Studio, která spouští plnohodnotnou virtuální kopii zařízení Android na počítači vývojáře. Emulátor používá QEMU k translaci instrukcí ARM na architekturu x86_64 hostitele. Dokumentace Google popisuje celý cyklus nastavení virtuálních zařízení AVD a hardwarové akcelerace.

Hlavní body

  • Android Emulator — plnohodnotná emulace založená na QEMU s podporou ARM translace, GPU, senzorů a NFC
  • AVD Manager — nástroj pro vytváření a konfiguraci virtuálních zařízení s výběrem úrovně API, architektury a hardwarových charakteristik
  • HAxM a Hyper-V — hardwarová akcelerace pro zvýšení výkonu emulátoru 3-5krát
  • Kontrola v kódu — Build.FINGERPRINT a Build.PRODUCT umožňují detekci spuštění v emulátoru v Kotlin
  • Emulace senzorů — akcelerometr, gyroskop, NFC, GPS a kamera jsou podporovány v emulátoru

Co je Android Emulator?

Android Emulator — virtuální zařízení Android pracující na bázi QEMU (Quick EMUlator) a emulující hardwarovou platformu Android. Na rozdíl od iOS Simulator, Android Emulator plně transluje instrukce ARM, což umožňuje spouštět kód zkompilovaný pro mobilní architekturu na hostiteli x86_64.

Google vydal Android Emulator v roce 2007 spolu s první verzí Android SDK. Od té doby se emulátor vyvinul z pomalého řešení pouze pro ARM na vysoce výkonný systém s podporou GPU, hardwarové akcelerace a emulace senzorů. Podle Google (Android Developer Blog, 2025) moderní emulátor s HAxM pracuje 4-5krát rychleji než první generace.

Emulátor podporuje všechny komponenty zařízení Android: CPU, GPU, RAM, úložiště, dotykovou obrazovku, akcelerometr, gyroskop, GPS, kameru, baterii, NFC, Bluetooth a Wi-Fi. Vývojář může simulovat příchozí hovory, SMS, různé úrovně síťového signálu a geolokaci prostřednictvím Extended Controls.

Systémové obrazy pro emulátor

Android Emulator používá systémové obrazy (System Images), které se stahují přes SDK Manager. Každý systémový obraz obsahuje úplnou kopii firmwaru Android pro vybranou úroveň API a cílovou architekturu procesoru. K dispozici jsou obrazy s různou architekturou: x86_64 (doporučeno s HAxM), ARM64 (pro testování kompatibility ARM) a Google APIs (s předinstalovanými Google Play Services). Pro Wear OS, Android TV a Automotive jsou také k dispozici samostatné obrazy.

kotlin
// Kontrola typu emulátoru v kódu
val isEmulator = Build.FINGERPRINT
    .contains("generic") ||
    Build.PRODUCT.contains("sdk")

if (isEmulator) {
    Timber.d("Aplikace běží v emulátoru")
}

Nastavení AVD v Android Studio

AVD (Android Virtual Device) — konfigurace virtuálního zařízení pro emulátor. AVD Manager v Android Studio umožňuje vytvářet zařízení s libovolnou kombinací charakteristik: model, velikost obrazovky, hustota pixelů, množství RAM, velikost úložiště a verze Android.

Parametr AVDDoporučení pro vývojDoporučení pro testování
Architekturax86_64 (s HAxM)ARM64 (čistá emulace)
RAM2048-4096 MB1536-2048 MB
Interní úložiště8-16 GB4-8 GB
Úroveň APIPoslední stabilníMinimální podporovaná
Google Play ServicesZapnutoPodle potřeby

Vytvoření AVD se provádí přes Device Manager v Android Studio: vyberte hardwarový profil (Pixel, Nexus, Galaxy a další), systémový obraz a nakonfigurujte parametry. Po vytvoření se zařízení objeví v seznamu Run Configurations pro přímé spuštění aplikace.

Režim Snapshot pro rychlý start

Emulátor podporuje Quick Boot — ukládá stav AVD jako snapshot a obnovuje jej při příštím spuštění. Doba načítání se snižuje z 30-60 sekund na 2-5 sekund. Pro reset do čistého stavu použijte Cold Boot Now v AVD Manager.

ARM translace a hardwarová akcelerace

ARM translace — klíčová technologie Android Emulator, která převádí instrukce ARM na x86_64 za běhu. Bez translace by emulátor mohl spouštět pouze obrazy x86_64, což omezuje testování. Google používá libhoudini pro translaci ARM→x86 a knihovny Intel pro akceleraci HAXM.

bash
# Kontrola stavu HAxM na Windows
sc query "IntelHaxm"

# Instalace HAxM přes SDK Manager
sdkmanager "extras;intel;Hardware_Accelerated_Execution_Manager"

# Spuštění emulátoru s hardwarovou akcelerací
emulator -avd Pixel_9_API_35 -accel on -gpu auto

Intel HAxM (Hardware Accelerated Execution Manager) — virtualizační ovladač pro procesory Intel VT-x, urychluje emulátor 3-5krát. Na Windows s procesorem AMD použijte Windows Hyper-V Platform a WHPX. Bez hardwarové akcelerace emulátor pracuje pomalu, se zpožděním animací až 1-2 sekundy.

Pro macOS na Apple Silicon (řada M) funguje hardwarová akcelerace nativně přes Hypervisor.framework. Podle Google (Android Emulator Release Notes 2025) dosahuje emulátor na M2 Max 95 % výkonu skutečného zařízení při základních operacích.

Emulátor versus skutečné zařízení

Volba mezi emulátorem a skutečným zařízením závisí na fázi vývoje. Na emulátoru je pohodlné vyvíjet a ladit: rychlý start, okamžité nasazení, Extended Controls pro simulaci senzorů. Na skutečném zařízení — konečné testování výkonu, baterie a práce s hardwarem.

ScénářEmulátorSkutečné zařízení
Vývoj UIAno (rychle)Ne (pomalé nasazení)
Testování výkonuNe (nadhodnocené hodnoty)Ano (skutečná měření)
Emulace senzorů (GPS, NFC)Ano (Extended Controls)Omezeně
Spotřeba energieNepodporovánoAno (Battery Historian)
Testování sítě (2G/3G/4G/5G)Ano (simulace rychlosti)Ano (s SIM kartou)
Automatizace CI/CDAno (bez fyzických zařízení)Obtížné (farma zařízení)

Výkon emulátoru s hardwarovou akcelerací je často vyšší než skutečného levného zařízení. Proto provádějte konečné testy na skutečných zařízeních s cílovou úrovní výkonu.

Kontrola emulátoru v kódu Kotlin

Určení prostředí běhu v Kotlin je užitečné pro vypnutí nesprávného kódu nebo přidání ladicích informací. Android poskytuje Build.FINGERPRINT, Build.PRODUCT a Build.HARDWARE pro tento účel.

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", "Prostředí: emulátor")
        }
    }
}

Použití detektoru emulátoru pomáhá při ladění: na emulátoru můžete zapnout rozšířené logy, vypnout animace nebo nahradit skutečná API volání mocky. Vyhněte se kontrole v produkčních sestaveních, pokud to není vyžadováno obchodní logikou aplikace.

Testování aplikací na emulátoru

Android Emulator se používá pro automatizované testování na CI serverech. Pro spuštění testů je třeba vytvořit AVD, spustit emulátor a počkat na úplné načtení systému. Gradle Managed Devices tento proces zjednodušují: konfigurace AVD je popsána v build.gradle.kts.

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

Pro ruční spuštění emulátoru použijte příkazový řádek: emulator -avd Pixel_9_API_35 -no-window -no-audio -gpu swiftshader_indirect. Přepínač -no-window vypíná grafické rozhraní pro serverové prostředí a -gpu swiftshader_indirect zajišťuje softwarové vykreslování bez GPU hostitele.

Emulace sítě a senzorů

Extended Controls v Android Emulator poskytuje výkonné nástroje pro simulaci síťových podmínek: zpoždění (latency), šířku pásma (bandwidth) a typ sítě (GPRS, EDGE, 3G, 4G, 5G). To umožňuje testovat chování aplikace při pomalém připojení bez fyzické cesty do oblasti se špatným pokrytím.

Simulace senzorů zahrnuje akcelerometr, gyroskop a magnetometr prostřednictvím virtuálních 3D modelů zařízení. Pro GPS lze načíst soubory GPX s trasami — emulátor simuluje pohyb po souřadnicích, což je kritické pro testování navigačních aplikací. Kamera je emulována prostřednictvím webkamery hostitele nebo načítáním obrázků.

Multi-display v Android Emulator podporuje více obrazovek pro tablety a skládací zařízení. Extended Controls umožňují změnit orientaci, velikost obrazovky a hustotu pixelů (DPI) bez restartu emulátoru. Pro testování skládacích zařízení jsou k dispozici režimy Foldable s přepínáním mezi složeným a rozloženým stavem.

Android Emulator pro Wear OS a Android TV

Emulátor podporuje nejen chytré telefony, ale také Wear OS a Android TV. Pro Wear OS jsou k dispozici kulaté a obdélníkové konfigurace AVD, simulace otáčení rámečku a gest přejetí, stejně jako testování interakce s telefonním emulátorem. Pro Android TV se používá rozhraní s navigací D-pad. Obě platformy podporují hardwarovou akceleraci a testování s Google Play Services, což je důležité pro vývojový cyklus chytrých hodinek a televizních aplikací.

Často kladené dotazy

Čím se liší Android Emulator od iOS Simulator?

Android Emulator používá plnohodnotnou emulaci ARM přes QEMU s translací instrukcí, zatímco iOS Simulator kompiluje kód pro architekturu hostitele. Android Emulator podporuje GPU, kameru, senzory, Bluetooth, NFC — iOS Simulator většinu těchto funkcí nepodporuje.

Jak zkontrolovat v kódu, zda aplikace běží v emulátoru?

V Kotlin zkontrolujte Build.FINGERPRINT na přítomnost "generic" nebo "emulator", a také Build.HARDWARE na "ranchu" nebo "goldfish". Použijte Build.PRODUCT jako doplňkový marker — pro emulátor obsahuje "sdk_google" nebo "google_sdk".

Jak zrychlit Android Emulator?

Zapněte Intel HAxM (Intel VT-x) nebo Windows Hyper-V Platform (WHPX) pro procesory AMD. Používejte systémové obrazy x86_64 s hardwarovou akcelerací. Přidělte emulátoru alespoň 4 GB RAM v AVD Manager. Zapněte Quick Boot pro načítání ze snapshotu.

Lze testovat NFC v Android Emulator?

Ano, Android Emulator podporuje emulaci NFC od Android 10 (API 29). Extended Controls → Phone → NFC umožňují odesílání NDEF zpráv. Režimy čtení/zápisu tagů, peer-to-peer a HCE jsou podporovány. Pro úplné testování použijte skutečné zařízení s NFC čipem.

Které systémové obrazy jsou nejlepší pro AVD?

Pro každodenní vývoj zvolte x86_64 s Google APIs — maximální výkon a plná sada služeb. Pro testování kompatibility použijte obrazy ARM64. Pro CI — obrazy bez Google Play Services, jsou menší a rychleji se načítají.

Shrnutí

  • Android Emulator — plnohodnotná emulace zařízení Android založená na QEMU s podporou ARM translace, GPU, senzorů a NFC
  • AVD Manager — konfigurace virtuálních zařízení s výběrem architektury, úrovně API, RAM a hardwarových charakteristik
  • Hardwarová akcelerace — HAxM, Hyper-V a WHPX zvyšují výkon emulátoru 3-5krát
  • Kontrola prostředí — Build.FINGERPRINT, Build.PRODUCT a Build.HARDWARE pro detekci spuštění v emulátoru
  • Extended Controls — simulace GPS, NFC, senzorů, příchozích hovorů a SMS pro testování scénářů
  • CI automatizace — Gradle Managed Devices a obrazy x86_64 pro efektivní testování na CI
  • Quick Boot — režim snapshot zkracuje dobu načítání emulátoru na 2-5 sekund

Vyvineme mobilní aplikaci na klíč

IT Sectr vytváří aplikace pro iOS a Android pro startupy a podniky od roku 2017. Poradíme vám a navrhneme nejlepší řešení.

Prodiskutovat projekt

Přečtěte si také