Cómo crear y administrar dispositivos virtuales

Un dispositivo virtual de Android (AVD) es una configuración que define las características de un teléfono o una tablet Android, o dispositivo Wear OS, Android TV o Automotive OS que deseas simular en Android Emulator. AVD Manager es una interfaz que puedes iniciar desde Android Studio y te permite y administrar los AVD.

Para abrir AVD Manager, realiza una de las siguientes acciones:

  • Selecciona Tools > AVD Manager.
  • En la barra de herramientas, haz clic en AVD Manager Ícono de AVD Manager.

Acerca de los AVD

Un AVD contiene un perfil de hardware, una imagen de sistema, un área de almacenamiento y una interfaz, entre otras propiedades.

Te recomendamos crear un AVD para cada imagen del sistema que tu app podría admitir según la configuración <uses-sdk> de tu manifiesto.

Perfil de hardware

El perfil de hardware define las características de un dispositivo que se envía desde la fábrica. AVD Manager incluye algunos perfiles de hardware previamente cargados, como los de dispositivos Pixel, que puedes definir o personalizar cuando sea necesario.

Ten en cuenta que solo algunos perfiles de hardware incluyen Play Store por indicación. Esto indica que esos perfiles son totalmente compatibles con CTS y pueden usar imágenes de sistema que incluyan la app de Play Store.

Imágenes de sistema

Una imagen de sistema etiquetada con API de Google incluye acceso a los servicios de Google Play. Una imagen del sistema etiquetada con el logotipo de Google Play en la columna Play Store incluye la app de Google Play Store y acceso a los servicios de Google Play, incluida la pestaña Google Play del diálogo Extended controls, que proporciona un botón práctico para actualizar los servicios de Google Play en el dispositivo.

Para garantizar la seguridad de las apps y una experiencia uniforme con dispositivos físicos, las imágenes de sistema en las que se incluye Google Play Store se firman con una clave de lanzamiento, por lo que no puedes obtener privilegios elevados (de administrador) con esas imágenes. Si solicitas derechos elevados para solucionar un problema de tu app, puedes usar imágenes de sistema del emulador del Proyecto de código abierto de Android (AOSP), que no incluyen apps ni servicios de Google.

Área de almacenamiento

El AVD tiene un área dedicada al almacenamiento en tu equipo de desarrollo. En ella, se almacenan los datos del usuario del dispositivo, como las apps y las configuraciones instaladas, y una tarjeta SD emulada. Si es necesario, puedes usar AVD Manager para borrar los datos del usuario, de modo que el dispositivo tenga los mismos datos como si fuese nuevo.

Interfaz

La interfaz del emulador especifica la apariencia de un dispositivo. AVD Manager incluye algunas interfaces predefinidas, pero también puedes definir las tuyas propias o usar otras proporcionadas por terceros.

AVD y funciones de apps

Asegúrate de que en la definición de AVD se incluyan las características de dispositivo de las cuales depende tu app. Consulta Propiedades de perfiles de hardware y Propiedades de AVD para acceder a listas de funciones que puedes definir en tus AVD.

Cómo crear un AVD

Sugerencia: Si quieres iniciar tu app en un emulador, en lugar de ejecutarla desde Android Studio y, luego, en el diálogo Select Deployment Target que aparece, haz clic en Create New Virtual Device.

Para crear un AVD nuevo:

  1. Haz clic en Tools > AVD Manager para abrir AVD Manager.
  2. Haz clic en Create Virtual Device, en la parte inferior del diálogo de AVD Manager.

    Aparecerá la página Select Hardware.

    Ten en cuenta que solo algunos perfiles de hardware incluyen Play Store por indicación. Esto indica que estos perfiles son totalmente compatibles con CTS y pueden usar imágenes de sistema que incluyan la app de Play Store.

  3. Selecciona un perfil de hardware y haz clic en Next.
  4. Si no ves el perfil de hardware que deseas, puedes crear o importar uno.

    Aparecerá la página System Image.

  5. Selecciona la imagen del sistema para un nivel de API determinado y haz clic en Next.
  6. En la pestaña Recommended, aparecen listas de imágenes de sistema recomendadas. En las otras pestañas, se incluye una lista más completa. En el panel derecho, se describe la imagen de sistema seleccionada. Las imágenes x86 son las que se ejecutan más rápido en el emulador.

    Si ves Download junto a la imagen de sistema, debes hacer clic en la opción para descargarla. Para concretar la descarga, debes estar conectado a Internet.

    El nivel de API del dispositivo de destino es importante, ya que tu app no podrá ejecutarse en una imagen de sistema con un nivel de API inferior al que se necesita en tu app, según se especifica en el atributo minSdkVersion del archivo de manifiesto de la app. Para obtener más información sobre la relación entre el nivel de API del sistema y minSdkVersion, consulta el Control de versiones de tus apps.

    Si tu app declara un elemento <uses-library> en el archivo de manifiesto, requerirá una imagen de sistema en la que se encuentre esa biblioteca externa. Si deseas ejecutar tu app en un emulador, crea un AVD que incluya la biblioteca obligatoria. Si lo haces, es posible que debas usar un componente complementario para la plataforma de AVD; por ejemplo, el complemento de las API de Google contiene la biblioteca de Google Maps.

    Aparecerá la página Verify Configuration.

  7. Modifica las propiedades de AVD según sea necesario y, luego, haz clic en Finish.

    Haz clic en Show Advanced Settings para que se muestren más configuraciones, como la interfaz.

  8. El nuevo AVD aparecerá en la página Your Virtual Devices o en el diálogo Select Deployment Target.

Para crear un AVD a partir de una copia:

  1. En la página Your Virtual Devices de AVD Manager, haz clic con el botón derecho en un AVD y selecciona Duplicate.
  2. O haz clic en Menu y selecciona Duplicate.

    Aparecerá la página Verify Configuration.

  3. Haz clic en Change o Previous si debes realizar modificaciones en las páginas System Image y Select Hardware.
  4. Realiza los cambios y, luego, haz clic en Finish.
  5. El AVD aparecerá en la página Your Virtual Devices.

Cómo crear un perfil de hardware

AVD Manager proporciona perfiles de hardware predefinidos para dispositivos comunes a fin de que puedas agregarlos fácilmente a tus definiciones de AVD. Si debes definir un dispositivo diferente, puedes crear un perfil de hardware nuevo. Puedes establecer un perfil de hardware nuevo desde el principio o copiar uno como punto de partida. No es posible editar perfiles de hardware previamente cargados.

Para crear un perfil de hardware nuevo desde el comienzo:

  1. En la página Select Hardware, haz clic en New Hardware Profile.
  2. En la página Configure Hardware Profile, modifica las propiedades de perfiles de hardware según sea necesario.
  3. Haz clic en Finish.
  4. El perfil de hardware nuevo aparecerá en la página Select Hardware. Como alternativa, puedes hacer clic en Next para crear un AVD que use el perfil de hardware. También puedes hacer clic en Cancel a fin de regresar a la página Your Virtual Devices o al diálogo Select Deployment Target.

Para crear un perfil de hardware a partir de una copia:

  1. En la página Select Hardware, selecciona un perfil de hardware y haz clic en Clone Device.
  2. También puedes hacer clic con el botón derecho en un perfil de hardware y seleccionar Clone.

  3. En la página Configure Hardware Profile, modifica las propiedades de perfiles de hardware según sea necesario.
  4. Haz clic en Finish.
  5. El perfil de hardware nuevo aparecerá en la página Select Hardware. Como alternativa, puedes hacer clic en Next para crear un AVD que use el perfil de hardware. También puedes hacer clic en Cancel a fin de regresar a la página Your Virtual Devices o al diálogo Select Deployment Target.

Cómo editar AVD existentes

En la página Your Virtual Devices, puedes realizar las siguientes operaciones en un AVD existente:

  • Para editar un AVD, haz clic en Edit this AVD. y realiza los cambios.
  • Para borrar un AVD, haz clic en él con el botón derecho y selecciona Delete. También puedes hacer clic en Menu y seleccionar Delete.
  • Para mostrar los archivos .ini y .img asociados del AVD en el disco, haz clic con el botón derecho en AVD y selecciona Show on Disk. También puedes hacer clic en Menu y seleccionar Show on Disk.
  • Si deseas visualizar los detalles de configuración del AVD que puedes incluir en cualquier informe de errores para el equipo de Android Studio, haz clic con el botón derecho en un AVD y selecciona View Details. También puedes hacer clic en Menu y seleccionar View Details.

Cómo editar perfiles de hardware existentes

En la página Select Hardware, puedes realizar las siguientes operaciones en un perfil de hardware existente:

  • Para editar un perfil de hardware, selecciónalo y haz clic en Edit Device. También puedes hacer clic con el botón derecho en el perfil de hardware y seleccionar Edit. Luego, realiza las modificaciones.
  • Para borrar un perfil de hardware, haz clic con el botón derecho en él y selecciona Delete.

No se pueden editar ni borrar los perfiles de hardware predefinidos.

Cómo ejecutar y detener un emulador y borrar datos

En la página Your Virtual Devices, puedes realizar las siguientes operaciones en un emulador:

  • Para ejecutar un emulador que usa un AVD, haz doble clic en el AVD o un clic en Launch .
  • Para detener un emulador, haz clic con el botón derecho en un AVD y selecciona Stop. También puedes hacer clic en Menu y seleccionar Stop.
  • Si quieres borrar los datos de un emulador y regresar al estado en que se definió por primera vez, haz clic con el botón derecho en un AVD y selecciona Wipe Data, o haz clic en Menu y elige Wipe Data.

Cómo importar y exportar perfiles de hardware

En la página Select Hardware, puedes importar y exportar perfiles de hardware:

  • Para importar un perfil de hardware, haz clic en Import Hardware Profiles y selecciona el archivo XML que contiene la definición en tu computadora.
  • Para exportar un perfil de hardware, haz clic con el botón derecho en este y selecciona Export. Especifica la ubicación en la que deseas almacenar el archivo XML que contiene la definición.

Propiedades de perfiles de hardware

Puedes especificar las siguientes propiedades de los perfiles de hardware en la página Configure Hardware Profile. Las propiedades de configuración del AVD anulan las propiedades del perfil de hardware, y ambas son anuladas por las propiedades del emulador, que estableces mientras este se encuentra en funcionamiento.

No se pueden editar los perfiles de hardware predefinidos que se incluyen con AVD Manager. Sin embargo, puedes copiarlos y editar las copias.

Propiedad del perfil de hardware Descripción
Device Name Es el nombre del perfil de hardware. El nombre puede contener mayúsculas o minúsculas, números del 0 al 9, puntos (.), guiones bajos (_), paréntesis [ () ] y espacios. El nombre del archivo que contiene el perfil de hardware deriva del nombre de este último.
Device Type Selecciona una de las siguientes opciones:
  • Teléfono/tablet
  • Wear OS
  • Android TV
  • Dispositivo con Sistema operativo Chrome
  • Android Automotive
Screen Size Es el tamaño físico de la pantalla, en pulgadas, medidas en diagonal. Si el tamaño es superior al de la pantalla de tu computadora, se reduce en el inicio.
Screen Resolution Escribe una medida de ancho y alto en píxeles para especificar el número total de píxeles en la pantalla simulada.
Round Selecciona esta opción si el dispositivo tiene una pantalla redonda, como en el caso de algunos dispositivos de Wear OS.
Memory: RAM Escribe un tamaño de memoria RAM para el dispositivo y selecciona las unidades: B (bytes), KB (kilobytes), MB (megabytes), GB (gigabytes) o TB (terabytes).
Input: Has Hardware Buttons (Back/Home/Menu) Selecciona esta opción si tu dispositivo tiene botones de navegación de hardware. Anula esta selección si estos botones se implementan únicamente en software. Si seleccionas esta opción, los botones no aparecerán en la pantalla. Puedes usar el panel lateral del emulador para "presionar" los botones, en cualquiera de los casos.
Input: Has Hardware Keyboard Selecciona esta opción si tu dispositivo tiene un teclado de hardware. Anula la selección si no lo tiene. Si seleccionas esta opción, no aparecerá un teclado en la pantalla. Puedes usar el teclado de tu computadora para transmitir la pulsación de teclas al emulador, en cualquiera de los casos.
Navigation Style

Selecciona una de las siguientes opciones:

  • None: sin controles de hardware (la navegación se realiza mediante software)
  • D-pad: compatibilidad con pad direccional
  • Trackball: bola de seguimiento
  • Wheel: rueda

Estas opciones son para controles reales de hardware en el propio dispositivo. Sin embargo, los eventos enviados al dispositivo a través de un controlador externo son los mismos.

Supported Device States

Selecciona una o ambas opciones:

  • Vertical: Orientación de mayor altura que ancho
  • Horizontal: Orientación de mayor ancho que altura

Si seleccionas ambas orientaciones, puedes intercambiarlas en el emulador. Debes seleccionar al menos una opción para continuar.

Cameras

Para habilitar la cámara, selecciona una o ambas opciones:

  • Back-Facing Camera: Las lentes se orientan hacia el lado opuesto al del usuario.
  • Front-Facing Camera: Las lentes se orientan hacia el usuario.

Luego, puedes usar una cámara web o una foto proporcionada por el emulador para simular que tomas una foto con la cámara.

Sensors: Accelerometer Indica si el dispositivo cuenta con hardware que le permita determinar su orientación.
Sensors: Gyroscope Indica si el dispositivo cuenta con hardware que detecte rotación o giros. Combinado con un acelerómetro, puede proporcionar una detección de orientación más fluida y admitir un sistema de orientación de seis ejes.
Sensors: GPS Indica si el dispositivo cuenta con hardware compatible con el sistema de posicionamiento global (GPS) de navegación satelital.
Sensors: Proximity Sensor Indica si el dispositivo cuenta con hardware que determina si se encuentra cerca de la cara durante una llamada telefónica para inhabilitar las entradas de la pantalla.
Default Skin Selecciona una interfaz que controle la apariencia del dispositivo cuando se muestre en el emulador. Recuerda que especificar un tamaño de pantalla demasiado grande para la resolución puede hacer que la pantalla quede recortada y no puedas verla por completo. Para obtener más información, consulta Cómo crear una interfaz de emulador.

Propiedades de AVD

Puedes especificar las siguientes propiedades para las configuraciones de AVD en la página Verify Configuration. La configuración de AVD especifica la interacción entre la computadora de desarrollo y el emulador, así como las propiedades que deseas anular en el perfil de hardware.

Las propiedades de configuración de AVD anulan las de perfil de hardware. Ambas son anuladas por las propiedades del emulador que estableces mientras este se encuentra en funcionamiento.

Propiedad del AVD Descripción
AVD Name Nombre de la AVD. El nombre puede contener letras mayúsculas o minúsculas, números del 0 al 9, puntos (.), guiones bajos (_), paréntesis ( () ), guiones (-) y espacios. El nombre del archivo que contiene la configuración de AVD deriva del nombre de este.
AVD ID (Advanced) El nombre de archivo de AVD deriva del ID y puedes usarlo para hacer referencia al AVD desde la línea de comandos.
Hardware Profile Haz clic en Change para seleccionar un perfil de hardware diferente en la página Select Hardware.
System Image Haz clic en Change para seleccionar una imagen de sistema diferente en la página System Image. Se requiere una conexión activa de Internet para descargar una imagen nueva.
Startup Orientation

Selecciona una opción para la orientación inicial del emulador:

  • Vertical: Orientación de mayor altura que ancho
  • Horizontal: Orientación de mayor ancho que altura

Se habilita una opción solo si se encuentra seleccionada en el perfil de hardware. Al ejecutar el AVD en el emulador, puedes modificar la orientación si se el perfil de hardware admite el formato vertical y horizontal.

Camera (Advanced)

Para habilitar la cámara, selecciona una o ambas opciones:

  • Front: La lente se orienta hacia el lado opuesto al del usuario.
  • Back: La lente se orienta hacia el usuario.

Con el ajuste Emulated se obtiene una imagen generada mediante software, mientras que Webcam usa la cámara web de tu computadora de desarrollo para tomar una foto.

Esta opción solo está disponible si se selecciona en el perfil de hardware. No está disponible para Wear OS ni Android TV.

Network: Speed (Advanced)

Selecciona un protocolo de red para determinar la velocidad de la transferencia de datos:

  • GSM: Sistema de telefonía global para comunicaciones móviles
  • HSCSD: Datos de alta velocidad con conmutación de circuitos
  • GPRS: Servicio genérico de radiocomunicaciones por paquetes
  • EDGE: Velocidades de datos mejoradas para la evolución de GSM
  • UMTS: Sistema universal de telecomunicaciones móviles
  • HSDPA: Acceso a paquetes de alta velocidad por enlace descendente
  • LTE: Evolución a largo plazo
  • Full (predeterminada): Transfiere datos tan rápido como lo permite la computadora
Network: Latency (Advanced) Selecciona un protocolo de red a fin de establecer el tiempo (demora) necesario para que el protocolo transfiera un paquete de datos de un punto a otro.
Emulated Performance: Graphics

Selecciona el modo en que se representan los gráficos en el emulador:

  • Hardware: Usa la tarjeta de gráficos de tu computadora para una presentación más rápida.
  • Software: Emula los gráficos en el software; esto resulta útil si tienes un problema con la representación en tu tarjeta de gráficos.
  • Auto: Permite que el emulador determine la mejor opción según tu tarjeta de gráficos.
Emulated Performance: Boot option (Advanced)
  • Cold boot: Enciende el dispositivo activándolo a partir del estado de apagado.
  • Quick boot: Enciende el dispositivo cargando el estado de este a partir de una instantánea guardada. Para obtener detalles, consulta Cómo ejecutar el emulador con Quick Boot.
Emulated Performance: Multi-Core CPU (Advanced) Selecciona el número de núcleos del procesador de tu computadora que quisieras usar para el emulador. El uso de más núcleos acelera el emulador.
Memory and Storage: RAM El volumen de memoria RAM en el dispositivo. El fabricante del hardware fija este valor, pero puedes anularlo si es necesario; por ejemplo, para lograr que el emulador funcione más rápido. El aumento de tamaño ocupa más recursos de tu computadora. Escribe un tamaño de memoria RAM y selecciona las unidades: B (bytes), KB (kilobytes), MB (megabytes), GB (gigabytes) o TB (terabytes).
Memory and Storage: VM Heap Tamaño del montón de VM. El fabricante del hardware fija este valor, pero puedes anularlo si es necesario. Ingresa un tamaño de montón y selecciona las unidades: B (bytes), KB (kilobytes), MB (megabytes), GB (gigabytes) o TB (terabytes). Para obtener más información sobre las VM de Android, consulta Administración de memoria para diferentes equipos virtuales.
Memory and Storage: Internal Storage Espacio disponible de memoria no extraíble en el dispositivo. El fabricante del hardware fija este valor, pero puedes anularlo si es necesario. Ingresa un tamaño y selecciona las unidades; B (bytes), KB (kilobytes), MB (megabytes), GB (gigabytes) o TB (terabytes).
Memory and Storage: SD Card Espacio disponible de memoria extraíble para almacenar datos en el dispositivo. Para usar una tarjeta SD administrada por Android Studio, selecciona Studio-managed, ingresa un tamaño y selecciona las unidades: B (bytes), KB (kilobytes), MB (megabytes), GB (gigabytes) o TB (terabytes). Se recomiendan como mínimo 100 MB para usar la cámara. Para administrar el espacio en un archivo, selecciona External file y haz clic en para especificar el archivo y la ubicación. Para obtener más información, consulta mksdcard y el directorio de datos de AVD.
Device Frame: Enable Device Frame Habilita un marco alrededor de la ventana del emulador que reproduzca la apariencia de un dispositivo real.
Custom Skin Definition (Advanced) Selecciona una interfaz que controle la apariencia del dispositivo cuando se muestre en el emulador. Recuerda que especificar un tamaño de pantalla demasiado grande para la resolución puede hacer que la pantalla quede cortada y no puedas verla completa. Para obtener más información, consulta Cómo crear una interfaz de emulador.
Keyboard: Enable Keyboard Input (Advanced) Selecciona esta opción si deseas usar tu teclado de hardware para interactuar con el emulador. Está inhabilitada para Wear OS y Android TV.

Cómo crear una interfaz de emulador

Una interfaz de emulador de Android es un grupo de archivos que definen los elementos visuales y de control de una pantalla de emulador. Si las definiciones de interfaces disponibles en las configuraciones de AVD no cumplen con tus requisitos, puedes crear tu propia definición de interfaz personalizada y, luego, aplicarla a tu AVD.

Cada interfaz de emulador contiene:

  • Un archivo hardware.ini
  • Archivos de diseño para orientaciones compatibles (horizontal, vertical) y la configuración física
  • Archivos de imagen para elementos de pantalla; por ejemplo, fondo, teclas y botones

Para crear y usar una interfaz personalizada:

  1. Crea un directorio nuevo en el que guardarás tus archivos de configuración de interfaces.
  2. Define la apariencia visual de la interfaz en un archivo de texto llamado layout. Este archivo define muchas características de la interfaz, como el tamaño y los recursos de imagen para botones específicos. Por ejemplo:
        parts {
            device {
                display {
                    width   320
                    height  480
                    x       0
                    y       0
                }
            }

    portrait {
            background {
                image background_port.png
            }
    
            buttons {
                power {
                    image  button_vertical.png
                    x 1229
                    y 616
                }
            }
        }
        ...
        

    }

  3. Agrega los archivos de mapas de bits de las imágenes del dispositivo en el mismo directorio.
  4. Especifica configuraciones adicionales de dispositivo específicas de hardware en un archivo hardware.ini para las configuraciones del dispositivo, como hw.keyboard y hw.lcd.density.
  5. Guarda los archivos en la carpeta de interfaces y selecciona el archivo de almacenamiento como una interfaz personalizada.

Para obtener información más detallada sobre la creación de interfaces de emulador, consulta la Especificación de archivos de interfaces de Android Emulator en el código fuente de las herramientas.