Usando dispositivos virtuales del emulador de Android

Puede utilizar Android Emulator para crear emulaciones de dispositivos Android que ejecutan sus propias imágenes personalizadas del sistema Android. También puedes compartir tus imágenes personalizadas del sistema Android para que otras personas puedan ejecutar emulaciones de ellas. Además, puede agregar compatibilidad con múltiples pantallas a las emulaciones de Android Emulator.

Arquitectura del emulador de Android

Android Emulator le permite ejecutar emulaciones de dispositivos Android en máquinas Windows, macOS o Linux. El emulador de Android ejecuta el sistema operativo Android en una máquina virtual llamada dispositivo virtual Android (AVD). El AVD contiene la pila completa de software de Android y se ejecuta como si estuviera en un dispositivo físico. La Figura 1 es un diagrama de la arquitectura de alto nivel del emulador de Android. Para obtener más información sobre el emulador, consulte Ejecutar aplicaciones en el emulador de Android .

Arquitectura del emulador de Android

Figura 1. Arquitectura del emulador de Android

Creación de imágenes AVD

Cada AVD incluye una imagen del sistema Android, que se ejecuta en ese AVD. El AVD Manager incluye algunas imágenes del sistema. Y puede crear imágenes del sistema AVD personalizadas a partir de su código fuente y crear emulaciones de dispositivos para ejecutarlas.

Para crear y ejecutar una imagen del sistema AVD:

  1. Descargue la fuente de Android:

    mkdir aosp-main; cd aosp-main
    repo init -u
    repo sync -j24
    

    Si desea crear otras versiones de Android, puede encontrar los nombres de sus ramas en el repositorio público de Android . Se asignan a nombres en clave, etiquetas y números de compilación de Android .

  2. Cree una imagen del sistema AVD. Este es el mismo proceso que crear una imagen del sistema de un dispositivo Android . Por ejemplo, para crear un AVD x86 de 32 bits:

    mkdir aosp-main; cd aosp-main
    source ./build/envsetup.sh
    lunch sdk_phone_x86
    make -j32
    

    Si prefiere crear un AVD x86 de 64 bits, ejecute lunch para el objetivo de 64 bits:

    lunch sdk_phone_x86_64
    
  3. Ejecute la imagen del sistema AVD en el emulador de Android:

    emulator
    

Consulte las opciones de inicio de la línea de comandos para obtener más detalles sobre cómo ejecutar el emulador. La Figura 2 muestra un ejemplo del emulador de Android ejecutando un AVD.

Emulador de Android ejecutando un AVD

Figura 2. Emulador de Android ejecutando un AVD

Compartir imágenes del sistema AVD para que otros las usen con Android Studio

Siga estas instrucciones para compartir las imágenes de su sistema AVD con otras personas. Pueden usar las imágenes del sistema AVD con Android Studio para desarrollar y probar aplicaciones.

  1. Cree paquetes sdk y sdk_repo adicionales:

    Para Android 13 y versiones posteriores, use el comando emu_img_zip :

    $ make emu_img_zip
    

    Esto genera un archivo sdk-repo-linux-system-images-eng.[username]].zip .

    Para Android 12 y versiones anteriores, use el comando sdk_repo :

    $ make -j32 sdk sdk_repo
    

    El comando make sdk sdk_repo crea dos archivos en aosp-main/out/host/linux-x86/sdk/sdk_phone_x86 :

    • sdk-repo-linux-system-images-eng.[username].zip
    • repo-sys-img.xml
  2. Aloje el archivo sdk-repo-linux-system-images-eng.[username].zip en algún lugar accesible para sus usuarios y obtenga su URL para usarla como URL de imagen del sistema AVD .

  3. Para Android 12 y versiones anteriores, edite repo-sys-img.xml en consecuencia:

    • Actualice <sdk:url> a la URL de la imagen del sistema AVD .
    • Consulte sdk-sys-img-03.xsd para conocer otras actualizaciones del archivo.
    • Aloje repo-sys-img.xml en algún lugar accesible para sus usuarios y obtenga su URL para utilizarla como URL del sitio de actualización personalizada .

Para utilizar una imagen AVD personalizada, haga lo siguiente en SDK Manager:

  1. Agregue la URL del sitio de actualización personalizado como sitio de actualización del SDK .

    Esto agrega su imagen de sistema AVD personalizada a la página Imágenes del sistema.

  2. Cree un AVD descargando y seleccionando la imagen del sistema AVD personalizada.

Agregar soporte para múltiples pantallas

Android 10 mejora la pantalla múltiple (MD) para admitir mejor más casos de uso, como el modo automático y de escritorio. Android Emulator también admite la emulación de múltiples pantallas. De esta forma, puede crear un entorno de pantallas múltiples específico sin configurar el hardware real.

Puede agregar compatibilidad con múltiples pantallas a un AVD realizando los siguientes cambios o eligiendo entre estas CL .

  • Agregue un proveedor de pantallas múltiples a la compilación agregando estas líneas al archivo build/target/product/sdk_phone_x86.mk :

    PRODUCT_ARTIFACT_PATH_REQUIREMENT_WHITELIST := \
        system/lib/libemulator_multidisplay_jni.so \
        system/lib64/libemulator_multidisplay_jni.so \
        system/priv-app/MultiDisplayProvider/MultiDisplayProvider.apk \
    PRODUCT_PACKAGES += MultiDisplayProvider
    
  • Habilite el indicador de función de visualización múltiple agregando esta línea al archivo device/generic/goldfish/data/etc/advancedFeatures.ini :

    MultiDisplay = on
    

Puede encontrar las últimas funciones del emulador e información sobre versiones en las siguientes fuentes: