Para utilizar dispositivos virtuales de Android (AVD), el emulador de Android admite una interfaz gráfica de usuario (GUI) y una interfaz de línea de comandos (CLI). Usted selecciona el flujo de trabajo óptimo para su entorno.
- La GUI para crear y administrar dispositivos virtuales es una herramienta sencilla que se proporciona a la mayoría de los desarrolladores y usuarios de aplicaciones.
- Iniciar el emulador desde la línea de comandos proporciona una forma flexible para los usuarios avanzados y la automatización. Por ejemplo, para utilizar varios AVD o configurar pruebas e integración continuas. Para comenzar, consulte los ejemplos en herramientas ).
Inicie un AVD para automóvil AOSP utilizando elementos prediseñados
Para iniciar y probar rápidamente usando AOSP Car AVD prediseñado, use un script de código abierto para descargar e iniciar una compilación del emulador desde ci.android.com
. El script ha sido probado en macOS y Linux.
Necesitará Curl para usar este script.
Para ejecutar el script:
- Copie el contenido del script
launch_emu.sh
a su archivo local, asumiendo que usalaunch_emu.sh
como nombre de archivo local. - Haga ejecutable su script local. Por ejemplo, ejecute
chmod +x ./launch_emu.sh
. - Verifique las opciones disponibles ejecutando el script con
./launch_emu.sh -h
. - En
ci.android.com
, vaya a la ramaaosp-main-throttled
y seleccione una compilación reciente en la quesdk_car_x86_64
esté verde. Por ejemplo, 11370359. Si no ve la información de compilación, cierre sesión en su cuenta de Google y vuelva a intentarlo. - Descargue e instale los archivos binarios relevantes para el emulador con el ID de compilación. Por ejemplo,
./launch_emu.sh -i -a 11370359
. - Después de esto, puede usar
./launch_emu.sh
para iniciar el emulador descargado e instalado (no use las opciones-i
o-a
). - Para descargar e instalar otra ID de compilación, ejecute
./launch_emu.sh -c
para limpiar su espacio de trabajo y luego repita los pasos 4 y 5 anteriores.
Para especificar las opciones de inicio de la línea de comandos del emulador de Android al iniciar el emulador, use la opción -v
. Por ejemplo:
./launch_emu.sh -v “-cores 4 -memory 6144 -no-snapshot"
Construir un AVD para automóvil AOSP
El proceso para crear un AVD para automóvil AOSP es similar a crear imágenes AVD para un teléfono (por ejemplo, aosp_car_x86_64):
- Para configurar el entorno de desarrollo e identificar una rama, consulte Herramientas de control de código fuente . Luego revise Descargando la fuente :
ANDROID_BRANCH="android12L-release"
REPO_URL="https://android.googlesource.com/platform/manifest"
mkdir $ANDROID_BRANCH && cd $ANDROID_BRANCH && repo init -u $REPO_URL -b $ANDROID_BRANCH --partial-clone && repo sync -c -j8 - Construya la imagen AVD:
. build/envsetup.sh && lunch sdk_car_x86_64-userdebug && m -j32
- Ejecute la imagen AVD (agregue opciones de inicio de línea de comandos adicionales según sea necesario):
emulator &
Por ejemplo:
Figura 1. Pantalla del emulador virtual de Android
Notas sobre este proceso:
- Debido a que el proceso de compilación es el mismo que se requiere para compilar Android para un dispositivo físico, espere algo de tiempo para descargar la fuente y luego compilarla.
- Para trabajar en otras ramas, configure
$ANDROID_BRANCH
en otra rama/etiqueta . - Las imágenes AVD, como
system.img
, se crean en$ANDROID_PRODUCT_OUT
. Para obtener más información sobre las imágenes clave, consulte Directorio del sistema AVD . - Consulte el archivo README para saber cómo se utilizan los archivos binarios del emulador prediseñados en su árbol de Android para ejecutar el emulador.
Crear un AVD de coche
Agregar un AVD de automóvil nuevo es casi idéntico a Agregar un nuevo dispositivo . Por ejemplo, 1660554 crea un nuevo AVD avd_car
.
Para crear un AVD de automóvil:
- Cree una empresa y una carpeta de dispositivo según sea necesario. Este ejemplo utiliza
$ANDROID_BUILD_TOP/device/google_car/avd_car
. - Cree el archivo MAKE del producto,
avd_car.mk
, que define cómo construir el AVD. - Cree una carpeta de dispositivo,
avd_car_device
, en la que contengaBoardConfig.mk
ysource.properties
. - Agregue el nuevo
makefile
y la nueva opciónlunch
aAndroidProducts.mk
. - Para compilar y ejecutar el nuevo AVD
avd_car
:. build/envsetup.sh && lunch acar-userdebug && m -j32 && emulator &
Empaquetar un archivo zip de imagen AVD
Puede empaquetar y compartir su AVD con otras personas o usarlo en otra computadora. Utilice emu_img_zip.mk
para generar el archivo zip de imagen AVD:
- Después de crear el AVD, convierta
emu_img_zip
en el objetivo:m emu_img_zip
- El archivo zip de imagen AVD, con el prefijo
sdk-repo-linux-system-images
, se crea en la carpeta denominada$ANDROID_PRODUCT_OUT
.
Construir un kernel AVD
Los kernels AVD son similares a otros kernels de Android en el sentido de que todos son imágenes prediseñadas. Normalmente, puede utilizar las imágenes prediseñadas estándar del kernel de peces de colores tal como están en cada versión de Android.
Para experimentar con cambios de kernel:
- Ejecute la siguiente serie de instrucciones:
mkdir goldfish-kernel-54 cd goldfish-kernel-54 repo init -u https://android.googlesource.com/kernel/manifest -b common-android11-5.4 repo sync BUILD_CONFIG=common/build.config.gki.x86_64 build/build.sh BUILD_CONFIG=common-modules/virtual-device/build.config.goldfish.x86_64 build/build.sh ls -l ./out/android11-5.4/dist/
- Reemplace el binario del kernel en el código base de acuerdo con el archivo MAKE AVD. Por ejemplo,
x86_64-vendor.mk
incluyex86_64-kernel.mk
.
El código del kernel y la configuración se encuentran a continuación:
Artículo | Valor |
---|---|
Rama | common-android11-5.4 (usado en Android 11) |
Manifiesto | kernel/manifest/common-android11-5.4 |
módulos-comunes/dispositivo-virtual | kernel/common-modules/virtual-device/android11-5.4 |
Núcleo | kernel/common/android11-5.4 |
Crear un nuevo perfil de dispositivo
Para permitir a los usuarios crear un AVD específico en Android Studio AVD Manager, consulte Crear y administrar dispositivos virtuales . Los fabricantes de dispositivos pueden definir sus propias especificaciones de hardware, como el tamaño de la pantalla y los DPI, mediante el uso de un archivo devices.xml
incluido en la imagen AVD.
- Por ejemplo, consulte los perfiles de dispositivos automotrices en
automotive.xml
. - Para el desarrollo de HMI o la creación de prototipos, se pueden agregar varios dispositivos al archivo para la misma imagen AVD.
- Incluya el archivo en el archivo zip de imagen AVD OEM en la carpeta
[ABI]
. Por ejemplo, comox86_64
. - Los fabricantes de dispositivos también pueden crear una máscara de emulador . Por ejemplo, para definir botones de hardware adicionales para una experiencia de usuario de mayor fidelidad. Esto no sólo es útil para los flujos de trabajo de los desarrolladores, sino también para otras tareas como la investigación y revisión de UX.
Cree el archivo XML de imagen AVD
Los fabricantes de dispositivos pueden crear un archivo XML de imagen AVD para que Android Studio lo descargue.
- Por ejemplo, consulte el archivo XML de imagen AAOS AVD,
sys-img2-1.xml
. - Los fabricantes de dispositivos pueden definir su propio acuerdo de licencia OEM AVD para sus usuarios objetivo (empleando el sistema de honor), con la licencia para el emulador de Android. Android Studio obtiene el consenso de los usuarios cuando se incluye dicha licencia.
Para crear la imagen:
- Prepare un archivo zip de imagen AVD.
- Descomprima
${ANDROID_PRODUCT_OUT}/sdk-repo-linux-system-images-*.zip
. - Agregue
devices.xml
a la carpetax86_64
y luego comprima el archivo en un archivo zip. Por ejemplo, comooem_avd_img_x86_64.zip
. - Actualice
oem-sys-img2-1.xml
. - Actualice el nombre, el tamaño y el shasum del archivo zip (se proporcionan archivos XML de muestra en
tools
).
Por ejemplo, para alojar el AVD en Google Cloud Storage , consulte Creación de depósitos de almacenamiento .
Para cargar y hacer que el AVD sea de acceso público, consulte Hacer públicos los datos :
BUCKET_NAME="aaos-avd" gsutil mb gs://$BUCKET_NAME gsutil cp oem_avd_img_x86_64.zip gs://$BUCKET_NAME gsutil cp oem-sys-img2-1.xml gs://$BUCKET_NAME gsutil iam ch allUsers:objectViewer gs://$BUCKET_NAME
El formato de URL del complemento del SDK de imágenes AVD es el siguiente: https://storage.googleapis.com/$BUCKET_NAME/oem-sys-img2-1.xml
. Por ejemplo, si BUCKET_NAME es aaos-avd, la URL es: https://storage.googleapis.com/aaos-avd/oem-sys-img2-1.xml
.
Comparta una imagen AVD con usuarios de Android Studio
Para que sus usuarios puedan descargar imágenes AVD y usar su AVD de Android Studio, puede proporcionar un archivo XML complementario del SDK. Para obtener más información, consulte Actualización de las herramientas IDE y SDK .
Para descargar el AVD de la red:
- Aloje el archivo zip de imagen y los archivos XML en un servidor.
- Proporcione la URL a sus usuarios objetivo.
- ( Opcional ) Limite el acceso por nombre de usuario y contraseña.
Alternativamente, para acelerar el desarrollo, descargue el AVD a un directorio local:
- Guarde los archivos XML y todos los artefactos especificados en el archivo XML en una carpeta (por ejemplo, todos los archivos zip de imágenes AVD) denominada
ADDON_DIR
. - Especifique la URL como
file://$ADDON_DIR/oem-sys-img2-1.xml
.