Cómo crear y administrar dispositivos virtuales

Un Android Virtual Device (AVD) te permite definir las características de un teléfono Android, una tablet Android, un dispositivo Wear OS o Android TV que desees simular en Android Emulator. El AVD Manager es una interfaz que puedes iniciar desde Android Studio, y te permite crear y administrar los AVD.

Para abrir el AVD Manager, realiza uno de los siguientes pasos:

  • Selecciona Tools > AVD Manager.
  • Haz clic en AVD Manager ícono de AVD Manager en la barra de herramientas.

Acerca de los AVD

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

Te recomendamos crear un AVD para cada imagen de sistema que tu app pudiera 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 cuando se envía desde la fábrica. El Administrador de AVD tiene previamente cargados determinados perfiles de hardware, como los de dispositivos Pixel, y puedes definir o personalizar los perfiles de hardware cuando sea necesario.

Ten en cuenta que solo algunos perfiles de hardware incluyen por indicación la Play Store. Esto indica que estos 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 del 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 and para acceder a los Servicios de Google Play, incluida una pestaña Google Play en el cuadro de 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, lo que significa que no puedes obtener privilegios elevados (de administrador) con esas imágenes. Si los necesitas (derechos de administrador) para la solución de problemas en 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 de almacenamiento dedicada 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 el AVD Manager para borrar los datos del usuario, de modo que el dispositivo tenga los mismos datos como si fuesen nuevos.

Máscara

Una máscara de emulador especifica la apariencia de un dispositivo. El Administrador de AVD proporciona algunas máscaras predefinidas. También puedes definir tus propias máscaras o usar máscaras proporcionadas por terceros.

Características de AVD y 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 características que puedes definir en tus AVD.

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. Abre AVD Manager y haz clic en Tools > AVD Manager.
  2. Haz clic en Create Virtual Device, en la parte inferior del diálogo del AVD Manager.

    Aparecerá la página Select Hardware.

    Ten en cuenta que solo algunos perfiles de hardware incluyen por indicación la Play Store. 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 demás pestañas se incluye una lista más completa. En el subpanel derecho se describe la imagen de sistema seleccionada. Las imágenes x86 se ejecutan de la manera más rápida 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 requiere la 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 Control de versiones de tus apps.

    Si tu app declara un elemento <uses-library> en el archivo de manifiesto, necesita una imagen de sistema en la que se encuentre esta biblioteca externa. Si deseas ejecutar tu app en un emulador, crea un AVD que incluya la biblioteca obligatoria. A fin de hacerlo, probablemente 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 máscara.

  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 del AVD Manager, haz clic con el botón secundario en un AVD y selecciona Duplicate.
  2. También puedes hacer clic en Menu y seleccionar 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.

Crear un perfil de hardware

El Administrador de AVD 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 un perfil de hardware como punto de partida. No es posible editar perfiles de hardware cargados previamente.

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. Tu perfil de hardware nuevo aparecerá en la página Select Hardware. Opcionalmente, puedes crear un AVD que use el perfil de hardware haciendo clic en Next. También puedes hacer clic en Cancel para 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 secundario 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. Tu perfil de hardware nuevo aparecerá en la página Select Hardware. Opcionalmente, puedes crear un AVD que use el perfil de hardware haciendo clic en Next. También puedes hacer clic en Cancel para regresar a la página Your Virtual Devices o al diálogo Select Deployment Target.

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 secundario y selecciona Delete. También puedes hacer clic en Menu y seleccionar Delete.
  • Para mostrar los archivos asociados del AVD .ini y .img 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.

Editar los 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 secundario en el perfil de hardware y seleccionar Edit. Luego, realiza las modificaciones.
  • Para borrar un perfil de hardware, haz clic con el botón secundario en él y selecciona Delete.

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

Ejecuta y detiene un emulador y borra datos

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

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

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 secundario en este y selecciona Export. Especifica la ubicación en la que desees almacenar el archivo XML que contenga 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 halla en funcionamiento.

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

Propiedad del perfil de hardware Descripción
Nombre del dispositivo 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:
  • Phone/Tablet
  • Wear OS
  • Android TV
Screen Size Tamaño físico de la pantalla, en pulgadas, medido 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 cualquier caso.
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 cualquier caso.
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
  • Wheel

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 pasar de una a otra 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.

Posteriormente, 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 determine si se encuentra cerca de la cara durante una llamada telefónica para inhabilitar las entradas de la pantalla.
Máscara predeterminada Selecciona una máscara 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. Consulta Crear una máscara de emulador para obtener más información.

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 del 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 halla en funcionamiento.

Propiedades AVD Descripción
AVD Name Nombre del AVD. 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 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 selecciona en el perfil de hardware. Al ejecutar el AVD en el emulador, puedes modificar la orientación si se admiten el formato vertical y horizontal en el perfil de hardware.

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.

El ajuste Emulated produce 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 está disponible solo si se selecciona en el perfil de hardware. No está disponible para Wear OS y Android TV.

Network: Speed (Advanced)

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

  • GSM: sistema de telefonía global para comunicaciones móviles
  • HSCSD: datos de alta velocidad con conmutación de circuitos
  • GPRS: Service 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 (default): transfiere datos a la mayor velocidad permitida por 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 representació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 cada vez 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 información detallada, consulta 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 Volumen de memoria RAM del dispositivo. El fabricante de 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 de hardware fija este valor, pero puedes anularlo si es necesario. Escribe 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 en las MV de Android, consulta Administración de memoria para diferentes máquinas virtuales.
Memory and Storage: Internal Storage Espacio disponible de memoria no extraíble en el dispositivo. El fabricante de hardware fija este valor, pero puedes anularlo si es necesario. Escribe 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 Archivo externo 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 máscara 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. Consulta Crear una máscara de emulador para obtener más información.
Keyboard: Enable Keyboard Input (Advanced) Selecciona esta opción si deseas usar tu teclado de hardware para interactuar con el emulador. Está inhabilitado para Wear OS y Android TV.

Crear una máscara de emulador

Una máscara 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 máscaras disponibles en las configuraciones de AVD no cumplen con tus requisitos, puedes crear tu propia definición de máscara personalizada y luego aplicarla a tu AVD.

Cada máscara 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 máscara personalizada:

  1. Crea un directorio nuevo en el que guardarás tus archivos de configuración de máscaras.
  2. Define la apariencia visual de la máscara en un archivo de texto llamado layout. Este archivo define muchas características de la máscara, 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 de dispositivos en el mismo directorio.
  4. Especifica las configuraciones adicionales de dispositivos específicos 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 máscaras y selecciona el archivo de almacenamiento como una máscara personalizada.

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