- Qué imagen de sistema elegir (Google APIs, Play Store o AOSP) y cómo afecta a permisos, servicios y compatibilidad.
- Ajustes avanzados clave: gráficos, CPU, RAM, red, almacenamiento y skins para rendimiento y realismo.
- Gestión práctica: clonar, importar/exportar perfiles, restablecer, solucionar errores y cuándo usar root.
Si desarrollas para Android, tarde o temprano vas a necesitar un teléfono “virtual” que corra en tu equipo para probar la app sin depender de un terminal físico, apoyándote en los conceptos de virtualización. Ese teléfono virtual es un AVD y vive dentro del Android Emulator, una pieza clave que llega con Android Studio. Aquí te explico, con detalle y al grano, cómo crearlo, configurarlo a tu gusto y sacarle partido en distintos escenarios de desarrollo.
Más allá del “siguiente, siguiente, finalizar”, hay decisiones que importan: qué imagen de sistema elegir, cómo ajustar el rendimiento gráfico, cuándo usar una imagen con Google Play Store o una AOSP, qué hacer si quieres acceso root para depurar problemas complejos y cómo clonar o exportar perfiles de hardware. También verás alternativas como Android Device Manager desde Visual Studio para quienes trabajan con .NET/MAUI y un bloque de solución de problemas que te salvará tiempo.
¿Qué es un AVD y para qué sirve?
Un AVD (Android Virtual Device) es una configuración completa que imita a un dispositivo físico: perfil de hardware (pantalla, sensores, botones), imagen de sistema (la “versión” de Android), almacenamiento dedicado y una “máscara” o skin que le da apariencia. Con él puedes ejecutar, probar y automatizar desde un entorno controlado, incluyendo móviles, tablets, Wear OS, Android TV, Google TV y Automotive.
Lo recomendable es disponer de varios AVD que cubran los niveles de API que tu app soporta en el manifiesto (<uses-sdk>). Así validas compatibilidad real con diferentes versiones sin depender de un parque de dispositivos físicos, algo clave cuando hay cambios de comportamiento entre niveles.
Cómo abrir el Administrador de dispositivos (Device Manager)
Android Studio trae un panel para crear y gestionar AVD. Puedes abrirlo de dos formas según el punto en el que te encuentres: desde la pantalla de bienvenida con More Actions > Virtual Device Manager o, si ya tienes un proyecto abierto, en la barra superior con View > Tool Windows > Device Manager.
Dentro del Device Manager verás todos tus AVD listados, con opciones para lanzarlos, editarlos, clonar, borrar y más. El botón + permite añadir nuevos dispositivos virtuales en segundos y acceder a perfiles de hardware precargados (por ejemplo, la familia Pixel).
Crear un dispositivo virtual paso a paso en Android Studio
Crear un AVD es sencillo y conviene hacerlo bien a la primera. Sigue estos pasos estándar y tendrás un emulador listo para trabajar:
- Abre el Device Manager.
- Haz clic en Create device. Se abrirá Select Hardware con una lista por categorías.
- Elige un perfil (por ejemplo, un Pixel reciente) y pulsa Next. Los perfiles con el icono de Play Store están certificados y permiten imágenes con la app de Play.
- En System Image, selecciona la versión de Android (nivel de API) que necesitas. Si aparece el icono de descarga, instálala; se requiere conexión a Internet.
- En Verify Configuration ajusta lo necesario y confirma con Finish. Si quieres afinar, entra en Show Advanced Settings para configurar gráficos, red, RAM, almacenamiento o la máscara.
Consejo rápido: si tu app declara <uses-library> en el manifiesto, asegúrate de elegir una imagen de sistema que incluya esa biblioteca (p. ej., Google Maps en el complemento de Google APIs), o el emulador no podrá ejecutar la app.
Duplicar y gestionar AVD existentes
¿Quieres un segundo dispositivo virtual con pequeñas variaciones de configuración? Desde la pestaña Virtual del Device Manager puedes clonar un AVD (Menu > Duplicate), editarlo o eliminarlo sin tocar el original.
- Selecciona el AVD, elige Menu > Duplicate.
- Revisa la configuración: si necesitas cambiar perfil de hardware o imagen de sistema, usa Previous para volver a dichas pantallas.
- Aplica cambios y confirma con Finish. Tu duplicado aparecerá en el listado para lanzarlo cuando lo necesites.
Perfiles de hardware: crear, clonar e importar/exportar
Los perfiles de hardware describen el “chasis”: tamaño y resolución de pantalla, sensores, cámaras, botones, etc. Android Studio incluye perfiles prefabricados (como Pixel), pero puedes crear los tuyos si necesitas un dispositivo no estándar.
- Crear desde cero: en Select Hardware, pulsa New Hardware Profile, ajusta propiedades y guarda.
- Clonar un perfil: selecciona un perfil y elige Clone Device (o clic derecho > Clone) para usarlo como base.
- Editar un perfil propio: en Select Hardware, selecciónalo y pulsa Edit Device (no se pueden editar los precargados).
- Importar/Exportar: en Select Hardware, Import Hardware Profiles para traer perfiles en XML; clic derecho > Export para guardarlos como XML y compartir.
Imágenes del sistema: Google APIs, Play Store, AOSP y niveles de API
Cuando eliges la imagen del sistema (la “ROM” del emulador), notarás etiquetas como Google APIs o Play Store. Las imágenes con Google APIs incluyen Servicios de Google Play, útiles para funcionalidades como mapas o notificaciones.
Las imágenes con Play Store añaden la app de la tienda y pestaña Google Play en Extended controls. Están firmadas con una clave de lanzamiento y no permiten obtener privilegios elevados (root) por seguridad y coherencia con dispositivos reales.
Si necesitas root para depuración avanzada, elige una imagen AOSP (no incluye apps/servicios de Google) y alterna permisos con ADB. Comandos útiles:
adb root
adb unroot
Para que lo identifiques de un vistazo, en nivel normal el prompt termina con $ y con privilegios elevados con #; fíjate en ese detalle cuando abras una shell con ADB.
Importante con la compatibilidad: el nivel de API del AVD debe ser igual o superior al minSdk de tu app. Si es inferior, la aplicación no se ejecutará. Comprueba también dependencias declaradas en el manifiesto (<uses-library>).
Almacenamiento del AVD y limpieza de datos
Cada AVD tiene su área de almacenamiento en tu equipo para datos de usuario, apps instaladas y la tarjeta SD emulada. Si quieres “reiniciarlo” como recién creado, usa Wipe Data desde el menú del AVD y limpiarás ese estado.
En Advanced Settings puedes decidir cuánto espacio asignar a la SD Card: Studio-managed (tamaño con unidades) o External file para gestionar un archivo propio. Para usar la cámara se recomiendan al menos 100 MB, así evitas fallos al guardar imágenes.
Máscaras (skins) del emulador: crear y aplicar
La máscara define la “carcasa” del dispositivo tal y como se ve en pantalla. Hay skins predefinidos, pero puedes crear uno personalizado si necesitas un aspecto concreto. Una máscara incluye un hardware.ini, archivos de diseño (orientaciones) y las imágenes para botones y fondo.
- Crea una carpeta para la skin.
- Describe la disposición en un archivo de texto llamado layout con partes, display, posiciones y recursos de imagen.
- Añade los bitmap necesarios (botones, fondo…)
- En un INI ajusta parámetros de hardware (por ejemplo,
hw.keyboard,hw.lcd.density). - Guarda la skin y selecciónala en el AVD como Custom Skin Definition. Evita tamaños de pantalla desproporcionados que recorten la visualización.
Ejecutar, detener y orientar el emulador
Desde la pestaña Virtual del Device Manager, puedes: lanzar (Launch), detener (Stop) y borrar datos (Wipe Data) de cualquier AVD. La primera vez suele tardar unos minutos en arrancar, así que paciencia si no ves reacción inmediata.
La orientación de arranque se define en Startup orientation: Portrait o Landscape. Si el perfil soporta ambas, podrás rotar directamente desde los controles del emulador durante la ejecución.
Propiedades de configuración del AVD
En Verify Configuration verás propiedades que ajustan cómo se comporta el emulador y cuáles anulan el perfil de hardware. Las más relevantes:
- AVD Name y AVD ID (avanzado): nombre y referencia de línea de comandos derivada del nombre.
- Hardware Profile y System Image: botones Change para sustituir perfil o imagen del sistema.
- Startup orientation: Portrait o Landscape según soporte del perfil.
- Cámaras (avanzado): Emulated, VirtualScene o Webcam del PC. No disponible para Wear OS, Android TV ni Google TV.
- Network Speed y Latency (avanzado): protocolos simulados (GSM, HSCSD, GPRS, EDGE, UMTS, HSDPA, LTE, Full) y latencia.
- Emulated Performance: Graphics: Hardware, Software o Automatic. Hardware acelera con tu GPU; si tu equipo tiene problemas de controlador, revisa el controlador WDDM. Software es útil si tu tarjeta da problemas.
- Boot option (avanzado): configuración de arranque del emulador (inicio rápido/arranque en frío).
- Multi-Core CPU (avanzado): número de núcleos a usar. Más núcleos = emulador más ágil (si tu equipo lo soporta).
- RAM, VM Heap, Internal Storage (avanzado): cantidades con unidades (B, KB, MB, GB, TB).
- SD Card (avanzado): Studio-managed con tamaño o External file con ruta.
- Device Frame: habilita marco que imita al dispositivo.
- Custom Skin Definition (avanzado): selección de máscara personalizada.
- Keyboard: Enable Keyboard Input (avanzado): usar teclado del PC. Deshabilitado en Wear OS y Android TV.
Propiedades del perfil de hardware
Cuando configuras o clonas un perfil, defines las capacidades físicas del dispositivo. Estas propiedades pueden ser anuladas por la configuración del AVD y por flags del emulador en ejecución:
- Device Name y Device Type: teléfono/tablet, Wear OS, Android TV, Google TV, ChromeOS, Automotive.
- Pantalla: Screen Size (pulgadas diagonales), Screen Resolution (ancho x alto en píxeles), Round (esfera para Wear OS).
- Memoria: RAM con unidades.
- Entrada: Has Hardware Buttons (Back/Home/Menu) y Has Hardware Keyboard. Si hay hardware, esos elementos no se dibujan en pantalla.
- Navigation Style: None, D-pad, Trackball o Wheel.
- Supported Device States: Portrait y/o Landscape (al menos una).
- Cámaras: Back-Facing y Front-Facing.
- Sensores: Accelerometer, Gyroscope, GPS y Proximity Sensor.
- Default Skin: máscara que controla el aspecto del dispositivo en el emulador.
Cómo ejecutar tu app en Android Emulator (ejemplo práctico)
Una forma rápida de probar una app en local es crear un AVD moderno y ejecutarla con la configuración por defecto. El flujo típico sería:
- En Android Studio, abre Tools > Device Manager y pulsa + (Create Virtual Device).
- Elige Phone y selecciona un modelo (por ejemplo, Pixel 6); Next.
- En Recommended, descarga y elige Android 14 (UpsideDownCake) si no lo tienes. Ignora advertencias sobre Google APIs si no afectan a tu caso.
- Asigna un nombre en AVD Name y Finish.
- Selecciona el AVD en la barra superior del IDE y pulsa Run. El primer arranque puede tardar varios minutos hasta que esté listo.
Si tu proyecto usa bibliotecas específicas o necesitas más almacenamiento interno, abre Show Advanced Settings y aumenta Internal Storage. Para desarrollos intensivos conviene subir RAM y núcleos si tu equipo lo permite para acelerar compilación e instalación.
Uso con Xojo y consideraciones
Si desarrollas con Xojo para Android, puedes depurar sobre un dispositivo físico o usar un emulador creado con Android Studio. El proceso de creación del AVD es el mismo: Device Manager, Create Device, perfil Phone, imagen de sistema compatible y ajustes avanzados si necesitas más almacenamiento interno.
Hay un detalle importante: cuando uses esos emuladores desde Xojo, no tengas Android Studio en ejecución a la vez. Algunas herramientas compiten por los mismos recursos del emulador y puede dar problemas al conectar.
Si un emulador se “rompe” (no arranca o falla al instalar), ábrelo en Android Studio, borra y crea uno nuevo desde Device Manager. También puedes optar por Wipe Data para recuperar el estado inicial sin tener que recrearlo desde cero.
Android Device Manager en Visual Studio (MAUI/.NET)
Para quienes trabajan con .NET MAUI en Windows, Visual Studio incluye Android Device Manager, un frontend para los mismos emuladores. Requisitos básicos: Visual Studio 2022 (Community/Professional/Enterprise), Android SDK API Level 30 o superior en su ruta por defecto y paquetes recientes (Command-line Tools, Platform-Tools 31+, Build-Tools 30.0.3+, Emulator 30.8.4+).
Ábrelo en Herramientas > Android > Android Device Manager. Verás la lista de dispositivos virtuales con nombre, versión del SO, CPU, memoria y resolución. Desde ahí puedes iniciar o detener el emulador con un clic.
Creación de un dispositivo en Visual Studio: pasos a seguir
- Nuevo, asigna nombre.
- Elige dispositivo base y procesador (recomendado x86_64 con aceleración).
- Selecciona versión de Android (si no está instalada, se descarga).
- Marca Google APIs y/o Google Play Store si lo necesitas.
- Ajusta propiedades y Crear. Si aparecen licencias, acéptalas para continuar.
Opciones extra (…): duplicar y editar, arranque en frío (factory defaults), ver registros del kernel, descargar imagen del sistema, abrir carpeta del dispositivo, reparar, restablecimiento de fábrica y eliminar. El restablecimiento de fábrica borra el estado interno e instantáneas de Quick Boot, pero no tus ajustes estructurales del AVD.
Solución de problemas frecuentes
Versiones de SDK Tools incorrectas: si al iniciar aparece un error indicando herramientas incompatibles, abre el SDK Manager y instala/actualiza Command-line Tools, Platform-Tools y Build-Tools a las versiones mínimas requeridas.
Wi‑Fi deshabilitado tras reanudar desde snapshot (Android Oreo): a veces, con snapshots, el Wi‑Fi simulado no vuelve correctamente. Solución:
- Abre Android Device Manager.
- Selecciona el AVD y elige Reveal in Explorer.
- Ve a snapshots > default_boot y borra el archivo snapshot.pb.
- Reinicia el AVD para que arranque sin esa instantánea.
Rendimiento pobre o glitches gráficos: prueba Graphics en Automatic o Software si tu GPU da problemas; además, si usas APIs gráficas como Direct3D, verifica su configuración y controladores. Sube núcleos y RAM si tu equipo puede, y cierra procesos pesados en segundo plano.
La app no instala: comprueba que el nivel de API del AVD es >= a minSdk. Revisa también si usas <uses-library> y necesitas una imagen con Google APIs o específica. Si todo cuadra, borra datos (Wipe Data) o recrea el AVD.
Necesito root: usa imagen AOSP y alterna con adb root / adb unroot. Las imágenes con Play Store están firmadas y no permiten privilegios elevados.
AVD y características de la app: que nada se te quede fuera
Antes de dar por buena la configuración, verifica que el perfil de hardware incluye lo que tu app necesita: cámaras, sensores (acelerómetro, giroscopio, GPS, proximidad), estados de orientación, botones, teclado y estilo de navegación. Si falta algo, edita el perfil o crea uno nuevo a medida.
En escenarios de pruebas automatizadas a gran escala, plantéate dispositivos administrados por Gradle. Te permiten ejecutar instrumentación de forma más escalable y autogestionada, especialmente útil en CI/CD.
Por último, acuérdate de los detalles de experiencia: habilita Device Frame si quieres ver un marco similar al dispositivo real y ajusta la densidad/skin para que la representación no quede recortada. Un AVD bien afinado agiliza muchísimo iteraciones de UI.
Con todo esto deberías poder crear, ajustar y mantener tus AVD con soltura, tanto en Android Studio como en Visual Studio si trabajas con MAUI. Elegir correctamente la imagen de sistema, activar los servicios necesarios y entender el juego de propiedades marca la diferencia entre un emulador que frustra y uno que te hace volar en el día a día.

