Android Emulator — qué es y cómo funciona la emulación

Autor: IT Sectr Publicado: 2026-02-09 Tiempo de lectura: 8 min

Android Emulator es un componente de Android Studio que ejecuta una copia virtual completa de un dispositivo Android en el ordenador del desarrollador. El emulador usa QEMU para traducir instrucciones ARM a la arquitectura x86_64 del host. Documentación de Google describe el ciclo completo de configuración de dispositivos virtuales AVD y aceleración por hardware.

Puntos clave

  • Android Emulator — emulación completa basada en QEMU con soporte para traducción ARM, GPU, sensores y NFC
  • AVD Manager — herramienta para crear y configurar dispositivos virtuales con selección de nivel de API, arquitectura y características de hardware
  • HAxM e Hyper-V — aceleración por hardware para aumentar el rendimiento del emulador entre 3 y 5 veces
  • Verificación en código — Build.FINGERPRINT y Build.PRODUCT permiten detectar la ejecución en el emulador en Kotlin
  • Emulación de sensores — acelerómetro, giroscopio, NFC, GPS y cámara son compatibles con el emulador

¿Qué es Android Emulator?

Android Emulator es un dispositivo Android virtual que funciona sobre QEMU (Quick EMUlator) y emula la plataforma hardware de Android. A diferencia de iOS Simulator, Android Emulator traduce completamente las instrucciones ARM, lo que permite ejecutar código compilado para arquitectura móvil en un host x86_64.

Google lanzó Android Emulator en 2007 junto con la primera versión de Android SDK. Desde entonces, el emulador ha evolucionado de una solución lenta solo ARM a un sistema de alto rendimiento con soporte de GPU, aceleración por hardware y emulación de sensores. Según Google (Android Developer Blog, 2025), el emulador moderno con HAxM funciona entre 4 y 5 veces más rápido que la primera generación.

El emulador soporta todos los componentes de un dispositivo Android: CPU, GPU, RAM, almacenamiento, pantalla táctil, acelerómetro, giroscopio, GPS, cámara, batería, NFC, Bluetooth y Wi-Fi. El desarrollador puede simular llamadas entrantes, SMS, varios niveles de señal de red y geolocalización a través de Extended Controls.

Imágenes de sistema para el emulador

Android Emulator utiliza imágenes de sistema (System Images) que se descargan a través de SDK Manager. Cada imagen de sistema contiene una copia completa del firmware de Android para el nivel de API seleccionado y la arquitectura de procesador objetivo. Hay imágenes disponibles con diferentes arquitecturas: x86_64 (recomendada con HAxM), ARM64 (para pruebas de compatibilidad ARM) y Google APIs (con Google Play Services preinstalados). También hay imágenes separadas para Wear OS, Android TV y Automotive.

kotlin
// Verificación del tipo de emulador en código
val isEmulator = Build.FINGERPRINT
    .contains("generic") ||
    Build.PRODUCT.contains("sdk")

if (isEmulator) {
    Timber.d("La aplicación se ejecuta en un emulador")
}

Configuración de AVD en Android Studio

AVD (Android Virtual Device) es una configuración de dispositivo virtual para el emulador. AVD Manager en Android Studio permite crear dispositivos con cualquier combinación de características: modelo, tamaño de pantalla, densidad de píxeles, cantidad de RAM, tamaño de almacenamiento y versión de Android.

Parámetro AVDRecomendación para desarrolloRecomendación para pruebas
Arquitecturax86_64 (con HAxM)ARM64 (emulación pura)
RAM2048-4096 MB1536-2048 MB
Almacenamiento interno8-16 GB4-8 GB
Nivel de APIÚltimo estableMínimo soportado
Google Play ServicesActivarSegún sea necesario

Creación de AVD se realiza a través de Device Manager en Android Studio: seleccione un perfil de hardware (Pixel, Nexus, Galaxy y otros), imagen de sistema y configure los parámetros. Después de la creación, el dispositivo aparece en la lista de Run Configurations para ejecutar la aplicación directamente.

Modo Snapshot para inicio rápido

El emulador soporta Quick Boot — guarda el estado del AVD como snapshot y lo restaura en el siguiente inicio. El tiempo de arranque se reduce de 30-60 segundos a 2-5 segundos. Para restablecer al estado limpio, use Cold Boot Now en AVD Manager.

Traducción ARM y aceleración por hardware

Traducción ARM es una tecnología clave de Android Emulator que convierte instrucciones ARM a x86_64 sobre la marcha. Sin traducción, el emulador solo podría ejecutar imágenes x86_64, lo que limita las pruebas. Google utiliza libhoudini para la traducción ARM→x86 y bibliotecas Intel para la aceleración HAXM.

bash
# Verificación del estado de HAxM en Windows
sc query "IntelHaxm"

# Instalación de HAxM a través de SDK Manager
sdkmanager "extras;intel;Hardware_Accelerated_Execution_Manager"

# Inicio del emulador con aceleración por hardware
emulator -avd Pixel_9_API_35 -accel on -gpu auto

Intel HAxM (Hardware Accelerated Execution Manager) es un controlador de virtualización para procesadores Intel VT-x que acelera el emulador entre 3 y 5 veces. En Windows con procesador AMD, use Windows Hyper-V Platform y WHPX. Sin aceleración por hardware, el emulador funciona lentamente, con retrasos de animación de hasta 1-2 segundos.

En macOS con Apple Silicon (serie M), la aceleración por hardware funciona de forma nativa a través de Hypervisor.framework. Según Google (Android Emulator Release Notes 2025), el emulador en M2 Max alcanza el 95% del rendimiento de un dispositivo real en operaciones básicas.

Emulador vs dispositivo real

La elección entre emulador y dispositivo real depende de la etapa de desarrollo. En el emulador es conveniente desarrollar y depurar: inicio rápido, despliegue instantáneo, Extended Controls para simulación de sensores. En un dispositivo real se hacen las pruebas finales de rendimiento, batería y funcionamiento con hardware.

EscenarioEmuladorDispositivo real
Desarrollo de UISí (rápido)No (implementación lenta)
Pruebas de rendimientoNo (métricas infladas)Sí (mediciones reales)
Emulación de sensores (GPS, NFC)Sí (Extended Controls)Limitado
Consumo de energíaNo compatibleSí (Battery Historian)
Pruebas de red (2G/3G/4G/5G)Sí (simulación de velocidad)Sí (con tarjeta SIM)
Automatización CI/CDSí (sin dispositivos físicos)Difícil (granja de dispositivos)

Rendimiento del emulador con aceleración por hardware suele ser superior al de un dispositivo económico real. Por lo tanto, realice las pruebas finales en dispositivos reales con el nivel de rendimiento objetivo.

Verificación del emulador en código Kotlin

Detectar el entorno de ejecución en Kotlin es útil para desactivar código incorrecto o añadir información de depuración. Android proporciona Build.FINGERPRINT, Build.PRODUCT y Build.HARDWARE para este propósito.

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", "Entorno: emulador")
        }
    }
}

Usar un detector de emulador ayuda durante la depuración: en el emulador puede activar registros avanzados, desactivar animaciones o sustituir llamadas API reales por mocks. Evite la verificación en compilaciones de producción a menos que sea necesario para la lógica de negocio de la aplicación.

Pruebas de aplicaciones en el emulador

Android Emulator se utiliza para pruebas automatizadas en servidores CI. Para ejecutar pruebas, debe crear un AVD, iniciar el emulador y esperar a que el sistema se cargue completamente. Gradle Managed Devices simplifican este proceso: la configuración del AVD se describe en build.gradle.kts.

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

Para iniciar el emulador manualmente use la línea de comandos: emulator -avd Pixel_9_API_35 -no-window -no-audio -gpu swiftshader_indirect. El indicador -no-window desactiva la interfaz gráfica para entornos de servidor, y -gpu swiftshader_indirect proporciona renderizado por software sin GPU del host.

Emulación de red y sensores

Extended Controls en Android Emulator proporciona herramientas potentes para simular condiciones de red: latencia, ancho de banda y tipo de red (GPRS, EDGE, 3G, 4G, 5G). Esto permite probar el comportamiento de la aplicación con conexiones lentas sin viajar físicamente a una zona con mala cobertura.

Simulación de sensores incluye acelerómetro, giroscopio y magnetómetro a través de modelos 3D virtuales de dispositivos. Para GPS, puede cargar archivos GPX con rutas — el emulador simula el movimiento por coordenadas, lo que es fundamental para probar aplicaciones de navegación. La cámara se emula a través de la cámara web del host o la carga de imágenes.

Multi-display en Android Emulator soporta múltiples pantallas para tablets y dispositivos plegables. Extended Controls permiten cambiar la orientación, el tamaño de pantalla y la densidad de píxeles (DPI) sin reiniciar el emulador. Para probar dispositivos plegables, están disponibles los modos Foldable con conmutación entre estado plegado y desplegado.

Android Emulator para Wear OS y Android TV

El emulador soporta no solo smartphones sino también Wear OS y Android TV. Para Wear OS, hay configuraciones AVD redondas y rectangulares disponibles, simulación de rotación del bisel y gestos de deslizamiento, así como pruebas de interacción con un emulador de teléfono. Para Android TV se utiliza una interfaz con navegación por D-pad. Ambas plataformas soportan aceleración por hardware y pruebas con Google Play Services, lo que es importante para el ciclo de desarrollo de aplicaciones de relojes inteligentes y televisores.

Preguntas frecuentes

¿En qué se diferencia Android Emulator de iOS Simulator?

Android Emulator utiliza emulación ARM completa a través de QEMU con traducción de instrucciones, mientras que iOS Simulator compila código para la arquitectura del host. Android Emulator soporta GPU, cámara, sensores, Bluetooth, NFC — iOS Simulator no soporta la mayoría de estas funciones.

¿Cómo verificar en código si la aplicación se ejecuta en un emulador?

En Kotlin, verifique Build.FINGERPRINT para "generic" o "emulator", y Build.HARDWARE para "ranchu" o "goldfish". Use Build.PRODUCT como marcador adicional — para el emulador contiene "sdk_google" o "google_sdk".

¿Cómo acelerar Android Emulator?

Active Intel HAxM (Intel VT-x) o Windows Hyper-V Platform (WHPX) para procesadores AMD. Use imágenes de sistema x86_64 con aceleración por hardware. Asigne al menos 4 GB de RAM al emulador en AVD Manager. Active Quick Boot para carga mediante snapshot.

¿Se puede probar NFC en Android Emulator?

Sí, Android Emulator soporta emulación NFC desde Android 10 (API 29). Extended Controls → Phone → NFC permiten enviar mensajes NDEF. Se soportan modos de lectura/escritura de etiquetas, peer-to-peer y HCE. Para pruebas completas, use un dispositivo real con chip NFC.

¿Qué imágenes de sistema es mejor elegir para AVD?

Para el desarrollo diario, elija x86_64 con Google APIs — máximo rendimiento y conjunto completo de servicios. Para pruebas de compatibilidad, use imágenes ARM64. Para CI — imágenes sin Google Play Services, son más pequeñas y arrancan más rápido.

Resumen

  • Android Emulator — emulación completa de dispositivo Android en QEMU con soporte para traducción ARM, GPU, sensores y NFC
  • AVD Manager — configuración de dispositivos virtuales con selección de arquitectura, nivel de API, RAM y características de hardware
  • Aceleración por hardware — HAxM, Hyper-V y WHPX aumentan el rendimiento del emulador entre 3 y 5 veces
  • Detección de entorno — Build.FINGERPRINT, Build.PRODUCT y Build.HARDWARE para detectar la ejecución en el emulador
  • Extended Controls — simulación de GPS, NFC, sensores, llamadas entrantes y SMS para pruebas de escenarios
  • Automatización CI — Gradle Managed Devices e imágenes x86_64 para pruebas eficientes en CI
  • Quick Boot — modo snapshot reduce el tiempo de arranque del emulador a 2-5 segundos

Desarrollaremos una aplicación móvil llave en mano

IT Sectr crea aplicaciones para iOS y Android para startups y empresas desde 2017. Le asesoraremos y le propondremos la mejor solución.

Discutir el proyecto

Lea también