Puede utilizar Android Emulator para crear emulaciones de dispositivos Android que ejecutan sus propias imágenes personalizadas del sistema Android. 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 Android Emulator ejecuta el sistema operativo Android en una máquina virtual llamada Dispositivo Virtual Android (AVD). Cada AVD contiene la pila completa de software de Android y se ejecuta como si estuviera en un dispositivo físico. La Figura 1 ilustra 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 .
Figura 1. Arquitectura del emulador de Android.
Construir 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:
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 .
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 64 bits:
source ./build/envsetup.sh
lunch sdk_phone_x86_64
make -j32
Ejecute la imagen del sistema AVD en el emulador de Android:
emulator
Consulte 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:
Figura 2. Emulador de Android ejecutando un AVD.
Comparta 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.
Cree paquetes
sdk
ysdk_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 enaosp-main/out/host/linux-x86/sdk/sdk_phone_x86
:-
sdk-repo-linux-system-images-eng.[username].zip
-
repo-sys-img.xml
-
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 .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 .
- Actualice
Para utilizar una imagen AVD personalizada, haga lo siguiente en SDK Manager:
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.
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 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 el 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: