Cuando pruebas tu app para vehículos, ayudas a garantizar que los usuarios no encontrarán resultados inesperados ni tendrán una mala experiencia. La manera en la que pruebes la app dependerá de si esta se ejecutará en Android Auto o en el SO Android Automotive.
Consulta una de las siguientes secciones para comenzar:
Prueba tu app para Android Auto
La consola central de escritorio (DHU, por su sigla en inglés) habilita tu máquina de desarrollo a emular una consola central de Android Auto, de modo que puedas ejecutar y probar tus apps de Android Auto. La DHU se ejecuta en sistemas con Windows, macOS y Linux.
En esta sección, se explica cómo instalar y ejecutar la DHU en la máquina de desarrollo para probar tus apps. Después de instalar la DHU, podrás probar tus apps de Android Auto si conectas el dispositivo móvil a ella mediante uno de los mecanismos de conexión compatibles que se describen en Cómo ejecutar la DHU.
Para informar errores o solicitar funciones relacionadas con la DHU, usa esta herramienta de seguimiento de errores.
Instala la DHU
Para instalar la DHU en tu máquina de desarrollo, sigue estos pasos:
- Habilita el modo de desarrollador en un dispositivo móvil que ejecute Android 6.0 (nivel de API 23) o versiones posteriores, según se describe en Cómo configurar las opciones para desarrolladores en el dispositivo.
- Compila e instala tu app en el dispositivo.
- Instala Android Auto en el dispositivo. Si ya está instalada, asegúrate de estar usando la versión más reciente.
Abre SDK Manager, navega a la pestaña de herramientas del SDK y, luego, descarga el paquete del emulador de la consola central de escritorio de Android Auto.
La DHU se instalará en el directorio
SDK_LOCATION/extras/google/auto/
.En los sistemas Linux o macOS, ejecuta el siguiente comando en ese directorio para asegurarte de que se pueda ejecutar el objeto binario DHU:
chmod +x ./desktop-head-unit
Pasos adicionales para Linux únicamente
Si ejecutas la versión 2.0 en un sistema Linux, deberás instalar algunas bibliotecas adicionales. El objeto binario de la DHU depende de la versión 2.32, o una posterior, de GLIBC
.
Puedes comprobar la versión de GLIBC
de tu sistema mediante este comando:
ldd --version
Si la versión es anterior a la 2.32, deberás actualizar GLIBC
a la versión 2.32 o una posterior, o bien actualizar el SO a una versión compatible con GLIBC
2.32 o una versión posterior.
También deberás instalar las bibliotecas libc++1
y libc++abi1
. El procedimiento de instalación varía según la distribución de Linux. Por ejemplo, en las distribuciones de Linux derivadas de Debian, puedes instalar las bibliotecas con este comando:
sudo apt-get install libc++1 libc++abi1
Instala las versiones previas al lanzamiento de la DHU
Para acceder a las versiones previas al lanzamiento de la DHU, puedes usar una versión preliminar de Android Studio o cambiar el canal de actualización de tu instalación actual de Android Studio en el canal beta.
Cómo ejecutar la DHU
Después de instalar la DHU, podrás probar tus apps de Android Auto conectando el dispositivo móvil y la estación de trabajo mediante USB. Para ejecutar la DHU, conecta tu dispositivo móvil a una máquina de desarrollo mediante el modo de accesorio (recomendado para la DHU 2.0) o la tunelización de ADB.
Conexión mediante el modo de accesorio (solo DHU 2.0)
Android Auto admite la conexión a la DHU con el protocolo Android Open Accessory (AOA) mediante el siguiente comando:
./desktop-head-unit --usb
De forma predeterminada, la DHU escanea la lista de dispositivos USB disponibles y trata de conectarse al primero compatible. Para orientarte a un dispositivo específico, incluye el ID de dispositivo como parte del comando --usb
de la siguiente manera:
./desktop-head-unit --usb=[DEVICE_ID]
Cómo conectarse mediante tunelización de ADB
Este método requiere la configuración de una conexión con el servidor de la consola central de Android Auto mediante Android Debug Bridge (ADB). Sigue estos pasos para configurar la tunelización y ejecutar la DHU:
Realiza una de las siguientes acciones para abrir la configuración de Android Auto, según la versión de Android que se ejecute en el dispositivo:
- Android 10 o versiones posteriores: En el dispositivo, presiona Configuración > Apps y notificaciones > Ver todas las apps > Android Auto > Avanzada > Opciones de configuración adicionales de la app.
- Android 9 o versiones anteriores: En la app de Android Auto, presiona Menú y, luego, Configuración.
Desplázate hasta la sección Acerca de, cerca de la parte inferior, y presiona Versión para mostrar toda la información de la versión y los permisos.
Presiona la sección Información de la versión y los permisos 10 veces.
Se mostrará el cuadro de diálogo Permitir configuración de desarrollo.
Presiona Aceptar.
Se habilitará el modo de desarrollador y podrás acceder a las opciones para desarrolladores en el menú ampliado. Solo deberás habilitar el modo de desarrollador la primera vez que ejecutes la app de Android Auto.
Si aún no se está ejecutando el servidor de la consola central, presiona los tres puntos de la esquina superior derecha de la pantalla para abrir el menú ampliado y selecciona Iniciar servidor unidad princ. (consulta la Figura 1).
En el dispositivo, se mostrará un servicio en primer plano en el área de notificaciones que indica que el servidor está en ejecución (consulta la Figura 2).
Figura 1: Menú contextual con opciones para desarrolladores
Figura 2: Notificación que indica que el servidor de la consola central está en ejecución
En la app de Android Auto, presiona Vehículos conectados anteriormente, cerca de la parte superior de Configuración, y asegúrate de que la opción Agregar automóviles nuevos a Android Auto esté habilitada.
Conecta el dispositivo móvil a la máquina de desarrollo por USB.
Asegúrate de que la pantalla del dispositivo móvil esté desbloqueada; de lo contrario, no se podrá iniciar la DHU.
En la máquina de desarrollo, ejecuta el siguiente comando de
adb
para reenviar conexiones de sockets del puerto 5277 de la máquina de desarrollo al mismo número de puerto en el dispositivo Android. Esta configuración permite que la DHU se conecte al servidor de la consola central que se ejecuta en el teléfono a través de un socket TCP.adb forward tcp:5277 tcp:5277
Para iniciar la DHU, ejecuta el comando
desktop-head-unit.exe
(en Windows) o./desktop-head-unit
(en macOS o Linux) desde el directorioSDK_LOCATION/extras/google/auto/
.cd SDK_LOCATION/extras/google/auto
desktop-head-unit.exe # Windows
./desktop-head-unit # macOS or Linux
Si es la primera vez que conectas el dispositivo móvil a la DHU, consulta la pantalla del dispositivo móvil para aceptar las Condiciones del Servicio y ajustar la configuración de los permisos según sea necesario.
Después de que se inicie la DHU, podrás usar los comandos de la DHU para ejecutar y probar tu app.
Opciones de línea de comandos
De forma predeterminada, el servidor de la consola central se conecta a través del puerto 5277. Para anular el host o el puerto (por ejemplo, a los efectos de reenviar a través de SSH), usa la marca --adb=<[localhost:]port>
, como en el siguiente ejemplo:
./desktop-head-unit --adb=5999
De forma predeterminada, la DHU emula una consola central compatible con Android Auto con una interfaz de usuario de pantalla táctil. Puedes simular las entradas táctiles de los usuarios haciendo clic en la DHU con un mouse. A fin de emular las consolas centrales que usan un control rotativo para la entrada, puedes usar la marca -i controller
, como en este ejemplo:
./desktop-head-unit -i controller
Cuando la DHU está en modo de control rotativo, puedes usar combinaciones de teclas a los efectos de simular las operaciones del control. Si quieres obtener información detallada, consulta Control rotativo. En el modo de control rotativo, la DHU ignorará los clics del mouse, y deberás manejar Android Auto con las operaciones simuladas del control rotativo.
Opción | Descripción |
---|---|
-c , --config=FILE |
Usa el archivo de configuración .ini especificado. Consulta la sección Configura la DHU para obtener más detalles. |
-i , --input=INPUT |
Usa el modo de entrada de texto especificado, uno de los siguientes: touch , rotary o hybrid . |
-a , --adb=HOSTPORT |
Usa el transporte de ADB (host:port o port opcionales). El valor predeterminado es el puerto 5277. |
-a , --usb=DEVICE_ID |
Usa el transporte USB (AOA) (DEVICE_ID opcional). |
-v , --version |
Muestra la información de la versión. |
-l , --licenses |
Muestra las licencias de código abierto. |
-h , --headless |
Se ejecuta en modo sin interfaz gráfica (sin IU). |
-t , --always_show_window_on_top |
Mostrar ventanas de la DHU sobre otras ventanas (desactivadas de forma predeterminada) |
-? , --help |
Muestra este listado de ayuda. |
Guía del usuario de la DHU
En esta sección, se describen las funciones compatibles con la versión 2.0 de la DHU y la manera de usarlas.
Los comandos se ingresan en la ventana de la terminal en la que iniciaste la DHU. Se pueden ejecutar varios comandos en la misma línea separándolos con un ;
.
Sistema
Comando | Clave | Descripción |
---|---|---|
help [command] |
Muestra el conjunto de comandos completo. Si se especifica un nombre de comando (por ejemplo, help day ), muestra ayuda para ese comando. |
|
quit exit |
Alt + Q | Sale de la unidad principal. |
sleep [seconds] |
Suspende la unidad durante un segundo. Si se especifica un retraso, se suspende por esa cantidad de seconds . Esto se puede usar para crear secuencias de comandos de la consola central (./desktop-head-unit < script.txt ), por ejemplo, en un entorno de CI. |
|
screenshot filename.png
|
Guarda una captura de pantalla en filename.png. .
|
|
licenses |
Muestra las licencias de las bibliotecas utilizadas en la DHU. | |
keycode keycode
|
Envía keycode, uno de los nombres que aparece en la sección Códigos de teclas. |
Modo y panel táctiles
Cuando se habilitan el modo o panel táctiles, si haces clic en la ventana de la pantalla (en el primer caso) o en la del panel táctil (en el segundo), se registrarán los eventos táctiles.
En el caso del modo táctil, puedes simular la función multitáctil haciendo clic con el botón derecho en la ubicación del primer dedo y, para el segundo, manteniendo presionado el botón derecho. El punto central de los dos dedos permanecerá fijo, y mover el mouse te permitirá rotarlos alrededor del centro o pellizcar hacia adentro o hacia afuera (o ambos).
En el caso del panel táctil, mantén presionado el botón izquierdo a fin de desplazarte entre diferentes elementos de la IU en la pantalla. Haz clic en el botón derecho para seleccionar el elemento enfocado actualmente.
Comando | Clave | Descripción |
---|---|---|
tap x y
|
Simula un evento táctil en las coordenadas especificadas. |
Control rotativo
La DHU es compatible con el control rotativo. Cuando está habilitado, se admiten las siguientes acciones:
- Arriba, abajo, izquierda y derecha en el controlador direccional
- Rotar en sentido horario y antihorario
- Rotar y girar (5 pasos a la vez)
- Hacer clic en Abajo y Atrás en el control
A continuación, se indican los comandos y las vinculaciones de teclas.
Una rueda de desplazamiento en un mouse enviará comandos dpad rotate
, y el clic en el botón central del mouse (por lo general, la rueda de desplazamiento) enviará comandos dpad click
.
Ten en cuenta que la mayoría de los vehículos tienen pantallas táctiles. Algunos autos solo tienen control rotativo y otros tienen un sistema híbrido de entradas táctiles y de control. Los vehículos también pueden tener compatibilidad con un panel táctil, que podrá usarse para el desplazamiento lateral de mapas y la entrada de texto. Ten en cuenta estas configuraciones diferentes cuando simules distintas consolas centrales de vehículos.
Comando | Clave | Descripción |
---|---|---|
dpad {up|down|left|right} |
Teclas de flecha | Movimiento del control rotativo. |
dpad {ur|dl|ul|dr} |
Movimiento del control rotativo. | |
dpad soft {left|right} |
Mayúsculas + teclas de flecha | Botones laterales disponibles en algunos controles rotativos. |
dpad click |
Volver | Presión del control rotativo. |
dpad back |
Retroceso | Botón Atrás disponible debajo de algunos controles rotativos. |
dpad rotate left |
1 | Movimiento de control rotativo izquierdo (sentido antihorario). |
dpad rotate right |
2 | Movimiento de control rotativo derecho (sentido horario). |
dpad flick left |
Mayúscula + 1 | Giro rápido en sentido antihorario del control rotativo. |
dpad flick right |
Mayúscula + 2 | Giro rápido en sentido horario del control rotativo. |
dpad 0-9*#+ |
Teclado numérico |
Micrófono
La DHU es compatible con el uso de un micrófono para las entradas de voz o la reproducción de una pista de voz grabada previamente. Te proporcionamos los siguientes archivos de sonido con comandos por voz comunes. Estos archivos de sonido se instalaron en el directorio SDK_LOCATION/extras/google/auto/voice/
.
Nombre del archivo | Texto |
---|---|
navhome.wav |
"Navegar a casa" |
navwork.wav |
"Navegar al trabajo" |
navsoh.wav |
"Navegar a la Ópera de Sídney" |
navgoogle.wav |
"Navegar a 1600 Amphitheatre Parkway, California, EE.UU." |
exitnav.wav |
"Salir de la navegación" |
howlong.wav |
"¿En cuánto tiempo llegaré?" |
showtraffic.wav |
"Mostrar estado del tráfico" |
showalternateroute.wav |
"Mostrar rutas alternativas" |
pause.wav |
"Pausar música" |
nextturn.wav |
"¿Cuándo debo doblar?" |
Si quieres ejecutar un archivo .wav
individual en la DHU, usa el siguiente directorio:
mic play /path/to/filename.wav
Comando | Clave | Descripción |
---|---|---|
mic begin |
M | Activa el micrófono (equivalente a hacer clic en el botón del volante) y espera la entrada del micrófono de la computadora. |
mic play filename.wav
|
Activa el micrófono y reproduce la grabación del archivo WAV especificado. Nota: No escucharás el archivo WAV en reproducción, pero escucharás la respuesta de Android Auto. | |
mic repeat |
Repite la última grabación que se usó con mic play . |
|
mic reject {on|off} |
Habilita o inhabilita el rechazo de las solicitudes de micrófono. Si activas esta opción, se rechazarán todas las solicitudes del micrófono. |
Sensores
La DHU admite la simulación de cambios en los datos del sensor del vehículo con los siguientes comandos. Para simular los datos del sensor y enviarlos a Android Auto, los sensores correspondientes deben habilitarse con el archivo de configuración .ini
cuando se inicia la DHU.
Comando | Descripción |
---|---|
fuel [percentage] |
Establece el nivel de combustible en un porcentaje especificado o no pases un valor para inhabilitarlo. |
range [km] |
Establece el rango en los kilómetros especificados o no pases un valor para inhabilitar los datos del rango. |
lowfuel [{on|off}] |
Establece el sensor de advertencia de combustible bajo o no pases un valor para inhabilitarlo. |
accel [x] [y] [z] |
Configura el acelerómetro en los valores especificados de "x", "y" y "z" (m/s^2), o no pases parámetros que quiten la configuración de los datos del acelerómetro. Pasa NAN para omitir parámetros opcionales si es necesario. |
compass bearing [pitch] [roll] |
Establece la brújula para los valores especificados de rumbo, paso y giro (grados). Pasa NAN para omitir parámetros opcionales si es necesario. |
gyro [x] [y] [z] |
Configura el giroscopio en la velocidad de rotación especificada de "x", "y" y "z" (rad/s), o bien no pases parámetros que quiten la configuración de los datos del giroscopio. Pasa NAN para omitir parámetros opcionales si es necesario. |
location lat long [accuracy] [altitude] [speed] [bearing] |
Establece la ubicación en los valores de latitud y longitud especificados, así como la precisión opcional (m), la altitud (m), la velocidad (m/s) y el rumbo (grados). Pasa NAN para omitir parámetros opcionales si es necesario. |
odometer km [current_trip_km] |
Configura el odómetro en los kilómetros especificados junto con un valor opcional de km para el viaje actual. |
speed [speed] |
Establece la velocidad del vehículo en el valor especificado (m/s), o no pases un valor para inhabilitar el sensor. |
tollcard {insert|remove} |
Indica si se insertó o quitó una tarjeta de peaje. |
Modo diurno o nocturno
La DHU admite la simulación del cambio entre los modos diurno y nocturno mediante los siguientes comandos y vinculaciones de teclas.
Comando | Clave | Descripción |
---|---|---|
day |
Mayúscula + N | Activa el modo diurno (brillo alto, a todo color). |
night |
Ctrl + N | Activa el modo nocturno (brillo bajo, contraste alto). |
daynight nightday |
N | Activa o desactiva el modo diurno o nocturno actual. |
Administración de focos
La DHU admite simular el enfoque de Android Auto en la consola central con los siguientes comandos.
Comando | Descripción |
---|---|
focus video {on|off|toggle} |
Habilita o inhabilita si Android Auto tiene foco de video en la consola central. La inhabilitación del foco de video simula que la consola central entra en modo nativo. |
focus audio {on|off|toggle} |
Habilita o inhabilita si Android Auto tiene foco de audio en la consola central. La inhabilitación del foco de audio simula que la consola central reproduce su propia fuente de audio. |
focus nav {on|off|toggle} |
Habilita o inhabilita si Android Auto tiene foco de navegación en la consola central. La inhabilitación del foco de navegación simula que la consola central ejecuta su propio sistema de navegación. |
Restricciones/estado de la conducción
La DHU admite la simulación de ciertas restricciones cuando el vehículo está en movimiento, como inhabilitar el teclado y las configuraciones del teléfono.
Comando | Clave | Descripción |
---|---|---|
restrict none |
U | Inhabilita todas las restricciones. |
restrict all |
Mayúsculas + U | Habilita todas las restricciones (por ejemplo, para simular la conducción). |
Clúster de instrumentos
La DHU admite la emulación de un clúster de instrumentos (por lo general ubicado detrás del volante) que muestra información básica durante la navegación acerca del próximo paso (como el nombre de la ruta, la distancia/hora o una flecha de giro) e información sobre una llamada telefónica en curso.
Esto se puede habilitar con la entrada instrumentcluster
en la sección [general]
del archivo de configuración, o bien con las entradas navcluster
o phonecluster
para controlar cada función por separado.
[general]
...
instrumentcluster = true
Pantalla de clúster
Algunos vehículos tienen pantallas de clúster capaces de mostrar información visual enriquecida, como los mosaicos de mapas. A partir de la versión 2.1 de la DHU (disponible actualmente a través del canal de actualización de Android Studio Beta), puedes emular esta pantalla en tu máquina de desarrollo.
Esto se puede hacer mediante un archivo de configuración con una sección [display]
de clúster.
Las secciones [display]
admiten las mismas opciones de configuración de video que la pantalla principal configurada en la sección [general]
del archivo.


...
# The display name following the colon can be whatever you like.
[display:cluster]
# Setting the displaytype as cluster is what lets the DHU know how to handle it.
displaytype = cluster
resolution = 800x480
dpi = 160
...
Esta configuración se puede agregar directamente a un archivo .ini
existente o puedes reutilizarla si la colocas en un archivo separado y pasas varios archivos de configuración cuando inicias la DHU. Cuando se usan varios archivos de configuración, las definiciones posteriores de un valor determinado anulan las anteriores.
# Launch your landscape configuration with your cluster display configuration
./desktop-head-unit -c landscape.ini -c cluster.ini
# Launch the portait configuration with the same cluster display configuration
./desktop-head-unit -c portrait.ini -c cluster.ini
Estado de la reproducción de contenido multimedia
La DHU es compatible con una pantalla de información adicional que muestra el estado de reproducción de contenido multimedia (por ejemplo, qué pista se está reproduciendo).
Esto se puede habilitar mediante la entrada playbackstatus
en la sección [general]
.
[general]
...
playbackstatus = true
Códigos de teclas
La DHU proporciona un conjunto de códigos predeterminados de teclas que simula el conjunto de botones de combinación de teclas que suelen estar disponibles en diferentes vehículos. Por ejemplo, el código de tecla home
se puede activar en el mensaje de la DHU de la siguiente manera:
keycode home
Clave de código | Descripción |
---|---|
home |
Ir a la pantalla principal |
back |
Volver |
call |
Hacer una llamada o finalizarla |
search |
Activar una búsqueda |
media_play_pause media_play media_pause |
Reproducir o pausar contenido multimedia |
media_next media_previous |
Ir a la pista multimedia siguiente o a la anterior |
media |
Ir a la app de música predeterminada |
navigation |
Ir a la app de navegación predeterminada |
tel |
Ir a la app de teléfono predeterminada |
Configura la DHU
La DHU admite un archivo de configuración .ini
a los efectos de cambiar los modos disponibles de entrada de texto (táctil, por control), la velocidad de fotogramas, la resolución y los DPI que la consola central solicita desde el teléfono.
La ubicación predeterminada del archivo de configuración es ~/.android/headunit.ini
. Si deseas cambiar la configuración de la consola central en tu sistema, puedes modificar este archivo.
También puedes especificar un archivo de configuración para cargar mediante la marca -c
.
./desktop-head-unit -c /path/to/config.ini
Configuración de ejemplo
[general]
touch = true
touchpad = false
controller = false
instrumentcluster = false
resolution = 800x480
dpi = 160
framerate = 30
fueltypes = unleaded,electric,hydrogen
evconnectors = supercharger
Se pueden encontrar archivos de configuración de ejemplo en la carpeta SDK_LOCATION/extras/google/auto/config/
que demuestran diferentes configuraciones de consolas centrales que puedes usar para realizar pruebas. Para casos de uso más avanzados, consulta la configuración compatible que se incluye a continuación.
Configuración de entrada
Nombre | Predeterminado | Tipo | Descripción |
---|---|---|---|
inputmode |
default |
String | Define el modo de entrada. Las opciones touch , rotary , hybrid habilitan e inhabilitan la compatibilidad con la pantalla táctil y el control rotativo, y establecen los códigos predeterminados de teclas según corresponda, mientras que default difiere a las opciones touch y controller que se incluyen a continuación. |
controller |
false |
Booleano | Habilita la entrada del control rotativo. Se ignorará, a menos que inputmode sea default . |
touch |
true |
Booleano | Habilita la pantalla táctil. Se ignorará, a menos que inputmode sea default . |
touchpad |
false |
Booleano | Habilita el panel táctil. |
touchpadnavigation |
false |
Booleano | Habilita el panel táctil que se usará en la navegación de la IU. |
touchpadtapasselect |
false |
Booleano | Si es verdadero, presionar el panel táctil será un evento de selección. |
touchpaduiabsolute |
false |
Booleano | Cuando touchpadnavigation es true , esto establece si los toques deben tratarse como absolutos o como gestos. |
Configuración de video
Android Auto admite tres resoluciones de video:
- 480 píxeles (800 x 480, el valor predeterminado)
- 720 p (1280 x 720)
- 1080 p (1920 x 1080)
A fin de admitir relaciones de aspecto distintas de las anteriores, se puede especificar en la consola central un margen en letterbox (formato 16:9) o letterbox (formato 16:9), según sea necesario. Por ejemplo, si quisieras una pantalla de 1000 x 600, deberías establecer la resolución en 720 p (1280 x 720) y un margen con 280 de ancho y 120 de altura. Esto tendrá el efecto de agregar un margen de 140 px en los bordes izquierdo y derecho, y uno de 60 px en los bordes superior e inferior.
Configuración de ejemplo para emular una pantalla típica de 6 pulgadas (750 x 450):
[general]
...
resolution = 800x480
marginwidth = 50
marginheight = 30
Y otra para una pantalla muy ancha:
[general]
...
resolution = 1280x720
marginwidth = 0
marginheight = 220
Nombre | Predeterminado | Tipo | Descripción |
---|---|---|---|
resolution |
800x480 |
Strings | Uno de los siguientes: 800x480 , 1280x720 o 1920x1080 . |
dpi |
160 |
Entero | |
normalizedpi |
false |
Booleano | Cuando es true , reduce el tamaño de ventana de la DHU a fin de tener valores de DPI más grandes. Cuando es false , los valores de DPI más grandes generan ventanas más grandes (que no imitan pantallas reales, pero permiten inspeccionar el contenido visual con mayor facilidad). |
realdpi |
160 |
Entero | Se usa en la configuración de video. |
framerate |
30 |
Entero | Se usa en la configuración de video. |
marginheight |
0 |
Entero | Se usa en la configuración de video. |
marginwidth |
0 |
Entero | Se usa en la configuración de video. |
margins |
0,0,0,0 |
String | Se usa en la configuración de video. Anula marginwidth y marginheight si están presentes. El formato es arriba, abajo, izquierda y derecha. |
contentinsets |
0,0,0,0 |
String | Se usa en la configuración de video. El formato es arriba, abajo, izquierda y derecha. |
stablecontentinsets |
0,0,0,0 |
String | Se usa en la configuración de video. El valor predeterminado es el de contentinsets . El formato es arriba, abajo, izquierda y derecha. |
cropmargins |
false |
Booleano | Si se especifican margins , marginheight o marginwidth , un valor true para esta configuración quita esos márgenes del video que se muestra. Esto refleja en mayor medida lo que ve el usuario final. |
pixelaspectratio |
1.0 |
Flotante | Se usa en la configuración de video. |
Configuración de los sensores
Para simular datos del sensor y enviarlos a Android Auto, debes habilitar los sensores correspondientes con las opciones que aparecen a continuación. Si se inhabilita un sensor, se ignorará cualquier dato que se envíe para ese sensor mediante los comandos de la DHU.
Nombre | Predeterminado | Tipo | Descripción |
---|---|---|---|
accelerometer |
false |
Booleano | Habilita los datos del sensor del acelerómetro. |
compass |
false |
Booleano | Habilita los datos del sensor de la brújula. |
driving_status |
false |
Booleano | Habilita los datos del sensor del estado de conducción. |
fuel |
false |
Booleano | Habilita los datos del sensor del combustible. |
gyroscope |
false |
Booleano | Habilita los datos del sensor del giroscopio. |
location |
false |
Booleano | Habilita los datos del sensor de la ubicación del vehículo. |
night_mode |
false |
Booleano | Habilita los datos del sensor del modo nocturno. |
odometer |
false |
Booleano | Habilita los datos del sensor del odómetro. |
speed |
false |
Booleano | Habilita los datos del sensor de la velocidad. |
toll_card |
false |
Booleano | Habilita los datos del sensor de la tarjeta de peaje. |
Varios
Nombre | Predeterminado | Tipo | Descripción |
---|---|---|---|
instrumentcluster |
false |
Booleano | Habilitar el clúster de instrumentos. Agregar una ventana a la IU para mostrar el estado de la navegación y el teléfono. |
navcluster |
false |
Booleano | Habilitar el clúster de instrumentos. Agregar una ventana a la IU para mostrar el estado de la navegación. |
phonecluster |
false |
Booleano | Habilitar el clúster de instrumentos. Agregar una ventana a la IU para mostrar el estado del teléfono. |
playbackstatus |
false |
Booleano | Habilitar el estado de reproducción. Agregar una ventana a la IU para mostrar los mensajes de estado de la reproducción. |
driverposition |
left |
String | Uno de los siguientes: left , center o right . |
windowleft |
|
Entero | Establecer la posición izquierda de la ventana principal. |
windowtop |
|
Entero | Establece la posición superior de la ventana principal. |
fueltypes |
unleaded |
Strings | Uno o más de (separados por una ","):
|
evconnectors |
|
Strings | Cero o más de (separados por una ","):
fueltypes contiene electric .
|
Solución de problemas
Aparece una pantalla en blanco al conectarse la DHU por primera vez
Este es un problema conocido en el que estamos trabajando. Para solucionarlo, haz lo siguiente:
- Cierra la DHU.
- Sigue el paso 5 que se describe en Ejecuta la DHU para detener el servidor de la consola central y reiniciarlo.
- Vuelve a iniciar la DHU.
- Es posible que se muestren pasos adicionales de solicitud de permisos en la pantalla del teléfono. Complétalos. Es posible que la DHU se apague una vez más.
- Reinicia la DHU.
Prueba tu app para el SO Android Automotive
Puedes usar Android Emulator para probar cómo se ejecutan las apps en el SO Android Automotive. En esta sección, se describe cómo configurar un dispositivo virtual de Android (AVD) a fin de probar tu app.
Edita las configuraciones de ejecución de apps de música
Las apps de música en las apps del SO Automotive son diferentes de otras apps para Android. El SO Android Automotive interactúa con tu app de música utilizando intents explícitos y enviando llamadas a tu servicio de navegador multimedia.
Si quieres probar tu app, verifica que no tenga actividad de inicio en su manifiesto y, luego, evita que tu módulo automotor se inicie con una actividad. Para ello, sigue estos pasos:
En Android Studio, selecciona Run > Edit Configurations.
Selecciona el módulo automotriz desde la lista de módulos de tu app.
En Launch Options > Launch, selecciona Nothing.
Haz clic en Apply y, luego, en OK.
Agrega imágenes del sistema
Antes de crear AVD que coincidan con el hardware de fabricantes específicos, debes agregar imágenes del sistema para estos dispositivos mediante el SDK Manager de Android Studio. Luego, cuando crees un AVD, podrás descargar estas imágenes del sistema para usarlas con el AVD.
Agrega imágenes del sistema de fabricantes de automóviles
Puedes agregar una imagen del sistema específica de OEM para GM, Honda, Polestar, Volvo y otros. Sigue los pasos que se indican en los sitios para desarrolladores de OEM:
En orden alfabético:
Instala imágenes genéricas del sistema
Android Studio también incluye una imagen genérica del sistema para el SO Android Automotive que puedes usar a fin de probar tu app. Esta imagen incluye Asistente de Google para que puedas probar la integración de tu app.
Sigue estos pasos a los efectos de instalar la imagen genérica del sistema:
- En Android Studio, selecciona Tools > SDK Manager.
- Haz clic en la pestaña SDK Platforms.
- Haz clic en Show Package Details.
- En Android 9.0 (Pie), selecciona Automotive Intel x86 Atom System Image.
Haz clic en Apply y, a continuación, en OK.
Crea un AVD de vehículo y ejecuta el emulador
Sigue estos pasos a fin de crear un dispositivo virtual de Android (AVD) que represente un vehículo con SO Android Automotive y, luego, usa ese AVD para ejecutar el emulador:
- En Android Studio, selecciona Tools > AVD Manager.
- Haz clic en Create Virtual Device.
- En el diálogo Select Hardware, selecciona Automotive y un dispositivo y, luego, haz clic en Next.
- Selecciona una imagen del sistema destinada a Automotive, como Android 9.0 (Automotive) y, luego, haz clic en Next.
- Asigna el AVD y selecciona otras opciones que quieras personalizar. Luego, haz clic en Finish.
- En la barra de ventanas de herramientas, selecciona tu AVD del SO Android Automotive como destino de implementación.
- Haz clic en Run
.
Requisitos de pruebas adicionales para apps de música
Si estás probando una app de música, también deberías probar las situaciones que se tratan en esta sección (además de probar la app en Android Auto, en el SO Android Automotive o en ambos).
Prueba situaciones de inicio de MediaBrowserService
A fin de ayudar a que los conductores y los pasajeros permanezcan seguros, los usuarios tienen restricciones adicionales para interactuar con las apps mientras conducen. Por este motivo, Android Auto y el SO Android Automotive tienen algunas situaciones de inicio de MediaBrowserService
que tu app debe poder controlar de modo que los usuarios puedan seguir disfrutando de tu contenido mientras viajan.
Prueba tu app para asegurarte de que pueda manejar cada una de las siguientes situaciones:
- Antes de que se abra alguna
Activity
, se ejecutaMediaBrowserService
. - Si no puede mostrar ninguna
Activity
, se ejecutaMediaBrowserService
. - Si el usuario no accedió, se ejecuta
MediaBrowserService
.
Mientras pruebas estas situaciones, asegúrate de probar los siguientes métodos:
- Fuerza la detención de la app de música y, luego, inicia Android Auto o el SO Android Automotive.
- Borra los datos de la app de música y, luego, inicia Android Auto o el SO Android Automotive.
Además, asegúrate de configurar un mensaje de error apropiado cuando sea necesario.
Herramientas de prueba de multimedia
La app de prueba del controlador multimedia te permite probar las complejidades de la reproducción de contenido multimedia en Android y verificar la implementación de tu sesión multimedia. Para comenzar a usar esta herramienta, consulta Cómo usar la app de prueba del controlador multimedia.