En testant votre application automobile, vous évitez que les utilisateurs n'aient à subir des comportements imprévus et contribuez à optimiser son utilisation. La façon dont vous testerez votre application varie selon qu'elle sera exécutée sur Android Auto ou sur Android Automotive OS.
Consultez l'une des sections suivantes pour en savoir plus :
Tester votre application pour Android Auto
L'unité principale pour ordinateur (ou DHU, Desktop Head Unit) permet à votre ordinateur de développement d'émuler une unité principale Android Auto afin que vous puissiez exécuter et tester des applications dans ce contexte. La DHU s'exécute sur les systèmes Windows, macOS et Linux.
Cette section vous explique comment installer et exécuter la DHU sur votre ordinateur de développement pour tester vos applications. Après avoir installé la DHU, vous pouvez tester vos applications Android Auto en y connectant votre appareil mobile via l'un des mécanismes de connexion compatibles décrits dans la section Exécuter la DHU.
Pour signaler des bugs ou demander des fonctionnalités liées à la DHU, utilisez cet outil de suivi des problèmes.
Installer la DHU
Procédez comme suit pour installer la DHU sur votre ordinateur de développement :
- Activez le mode développeur sur un appareil mobile équipé d'Android 6.0 (niveau d'API 23) ou version ultérieure, comme décrit dans la section Configurer les options pour les développeurs sur l'appareil.
- Compilez et installez votre application sur l'appareil.
- Installez Android Auto sur l'appareil. Si Android Auto est déjà installé, assurez-vous d'utiliser la dernière version.
Ouvrez SDK Manager, accédez à l'onglet SDK Tools, puis téléchargez le package Android Auto Desktop Head Unit Emulator.
La DHU est installée dans le répertoire
SDK_LOCATION/extras/google/auto/
.Sur les systèmes Linux ou macOS, exécutez la commande suivante dans ce répertoire pour vous assurer que le binaire de la DHU est exécutable :
chmod +x ./desktop-head-unit
Étapes supplémentaires pour Linux uniquement
Si vous exécutez la version 2.0 sur un système Linux, vous devez installer des bibliothèques supplémentaires. Le binaire de la DHU dépend de GLIBC
version 2.32 ou ultérieure.
Pour vérifier la version GLIBC
de votre système, exécutez la commande suivante :
ldd --version
Si elle est antérieure à la version 2.32, vous devez remplacer GLIBC
par la version 2.32 ou une version ultérieure, ou remplacer l'OS par une version compatible avec la version 2.32 (ou ultérieure) de GLIBC
.
Vous devez également installer les bibliothèques libc++1
et libc++abi1
. La procédure d'installation varie en fonction de votre distribution Linux. Par exemple, sur les distributions Linux dérivées de Debian, vous pouvez installer les bibliothèques à l'aide de la commande suivante :
sudo apt-get install libc++1 libc++abi1
Installer les versions préliminaires de la DHU
Pour accéder aux versions préliminaires de la DHU, vous pouvez soit utiliser une version preview d'Android Studio soit définir la version de mise à jour de votre installation Android Studio existante sur la version bêta.
Exécuter la DHU
Après avoir installé la DHU, vous pouvez tester vos applications Android Auto en connectant votre appareil mobile et votre station de travail via un câble USB. Pour exécuter la DHU, connectez votre appareil mobile à un ordinateur de développement à l'aide du mode accessoire (recommandé pour la version 2.0 de la DHU) ou d'un tunnel ADB.
Connexion en mode accessoire (version 2.0 de la DHU uniquement)
Android Auto permet de se connecter à la DHU avec le protocole Android Open Accessory (AOA) à l'aide de la commande suivante :
./desktop-head-unit --usb
Par défaut, la DHU analyse la liste des appareils USB disponibles et tente de se connecter au premier appareil compatible. Pour cibler un appareil spécifique, incluez son ID dans la commande --usb
, comme suit :
./desktop-head-unit --usb=[DEVICE_ID]
Se connecter à l'aide d'un tunnel ADB
Cette méthode nécessite la configuration d'une connexion au serveur de l'unité principale Android Auto via Android Debug Bridge (ADB). Pour configurer la tunnelisation et exécuter la DHU, procédez comme suit :
Effectuez l'une des opérations suivantes pour ouvrir les paramètres Android Auto, en fonction de la version Android exécutée sur l'appareil :
- Android 10 ou version ultérieure : sur l'appareil, appuyez sur Paramètres > Applications et notifications > Voir toutes les applis > Android Auto > Paramètres avancés > Paramètres supplémentaires dans l'application.
- Android 9 ou version antérieure : dans l'application Android Auto, appuyez sur Menu, puis sur Paramètres.
Faites défiler la page jusqu'à la section À propos en bas de l'écran, puis appuyez sur Version pour afficher toutes les informations concernant la version et les autorisations.
Appuyez 10 fois sur la section Infos sur les versions et autorisations.
La boîte de dialogue Activer les paramètres de développement s'affiche.
Appuyez sur OK.
Le mode développeur est maintenant activé, et vous pouvez accéder aux options pour les développeurs dans le menu à développer. Vous ne devez activer le mode développeur que la première fois que vous exécutez l'application Android Auto.
Si le serveur de l'unité principale n'est pas déjà en cours d'exécution, appuyez sur les trois points dans la partie supérieure droite de l'écran pour ouvrir le menu à développer, puis sélectionnez Démarrer le serveur de l'unité principale (voir la figure 1).
Sur l'appareil, un service de premier plan apparaît dans la zone de notification et indique que le serveur est en cours d'exécution (voir la figure 2).
Figure 1 : Menu contextuel avec options pour les développeurs
Figure 2 : Notification indiquant que le serveur de l'unité principale est en cours d'exécution
Dans l'application Android Auto, appuyez sur Voitures connectées précédemment en haut de la page Paramètres, puis assurez-vous que l'option Ajouter des voitures à Android Auto est activée.
Connectez l'appareil mobile à l'ordinateur de développement via un câble USB.
Assurez-vous que l'écran de votre appareil mobile est déverrouillé. Dans le cas contraire, il ne pourra pas lancer la DHU.
Sur la machine de développement, exécutez la commande
adb
suivante pour transférer les connexions de socket à partir du port 5277 de la machine de développement vers le même numéro de port sur l'appareil Android. Cette configuration permet à la DHU de se connecter au serveur de l'unité principale exécuté sur votre téléphone via un socket TCP.adb forward tcp:5277 tcp:5277
Pour démarrer la DHU, exécutez la commande
desktop-head-unit.exe
(sur Windows) ou./desktop-head-unit
(sur macOS ou Linux) à partir du répertoireSDK_LOCATION/extras/google/auto/
.cd SDK_LOCATION/extras/google/auto
desktop-head-unit.exe # Windows
./desktop-head-unit # macOS or Linux
Si vous connectez l'appareil mobile à la DHU pour la première fois, consultez l'écran de l'appareil mobile pour accepter les conditions d'utilisation et ajuster les paramètres d'autorisation si nécessaire.
Une fois la DHU démarrée, vous pouvez exécuter et tester votre application à l'aide des commandes de la console DHU.
Options de ligne de commande
Par défaut, le serveur de l'unité principale se connecte sur le port 5277. Pour remplacer l'hôte ou le port (par exemple, pour le transfert via SSH), utilisez l'indicateur --adb=<[localhost:]port>
, comme dans l'exemple suivant :
./desktop-head-unit --adb=5999
Par défaut, la DHU émule une unité principale compatible avec Android Auto avec une interface utilisateur à écran tactile. Vous pouvez simuler des gestes de l'utilisateur en cliquant sur la DHU avec une souris. Pour émuler des unités principales qui utilisent un contrôleur rotatif pour l'entrée, vous pouvez utiliser l'indicateur -i controller
, comme dans cet exemple :
./desktop-head-unit -i controller
Lorsque la DHU est en mode contrôleur rotatif, vous pouvez utiliser des raccourcis clavier pour simuler des opérations de contrôleur. Pour en savoir plus, reportez-vous à la section sur le contrôleur rotatif. En mode contrôleur rotatif, la DHU ignore les clics de souris. Vous devez utiliser Android Auto avec les opérations de simulation du contrôleur rotatif.
Option | Description |
---|---|
-c , --config=FILE |
Utilisez le fichier de configuration .ini spécifié. Reportez-vous à la section Configurer la DHU pour en savoir plus. |
-i , --input=INPUT |
Utilisez le mode d'entrée spécifié : touch , rotary ou hybrid . |
-a , --adb=HOSTPORT |
Utilisez le transport ADB (éventuellement host:port ou port ), qui utilise le port 5277 par défaut. |
-a , --usb=DEVICE_ID |
Utilisez le transport USB (AOA) (éventuellement DEVICE_ID ). |
-v , --version |
Affichez les informations sur la version. |
-l , --licenses |
Affichez les licences Open Source. |
-h , --headless |
Appliquez l'exécution en mode sans interface graphique. |
-t , --always_show_window_on_top |
Afficher les fenêtres de la DHU au-dessus des autres fenêtres (option désactivée par défaut) |
-? , --help |
Affichez cette fiche d'aide. |
Guide de l'utilisateur de la DHU
Cette section décrit les fonctionnalités compatibles avec la version 2.0 de la DHU et explique comment les utiliser.
Saisissez les commandes dans la fenêtre du terminal où vous avez démarré la DHU. Vous pouvez exécuter plusieurs commandes sur la même ligne en les séparant par le caractère ;
.
Système
Commande | Touche | Description |
---|---|---|
help [command] |
Affiche l'ensemble complet des commandes. Si un nom de commande est spécifié (par exemple, help day ), l'aide associée à cette commande est affichée. |
|
quit exit |
Alt+Q | Ferme l'unité principale. |
sleep [seconds] |
Active la veille pendant une seconde. Si un délai est spécifié, la mise en veille correspond au nombre de secondes défini dans seconds . Cette commande peut être utilisée pour rédiger le script de l'unité principale (./desktop-head-unit < script.txt ), par exemple dans un environnement CI. |
|
screenshot filename.png
|
Enregistre une capture d'écran dans filename.png.
|
|
licenses |
Affiche les licences des bibliothèques utilisées dans la DHU. | |
keycode keycode
|
Envoie keycode, l'un des noms répertoriés dans la section Codes de clavier. |
Écran tactile et pavé tactile
Lorsque l'écran tactile ou le pavé tactile sont activés, le clic dans la fenêtre d'affichage (pour l'écran tactile) ou dans la fenêtre du pavé tactile (pour le pavé tactile) est enregistré en tant qu'événement tactile.
Pour l'écran tactile, vous pouvez simuler le multipoint en effectuant un clic droit sur la position du premier doigt, puis en cliquant sur le bouton de droite et en le maintenant enfoncé pour le deuxième doigt. Le point central des deux doigts reste fixe. Le déplacement de la souris vous permet de les faire pivoter autour du centre et/ou de les rapprocher ou de les éloigner comme si vous pinciez l'écran.
Sur le pavé tactile, cliquez sur le bouton gauche et maintenez-le enfoncé pour passer d'un élément d'UI à l'autre sur l'écran. Cliquez sur le bouton droit pour sélectionner l'élément actif.
Commande | Touche | Description |
---|---|---|
tap x y
|
Simule un événement tactile aux coordonnées spécifiées. |
Contrôleur rotatif
La DHU est compatible avec le contrôleur rotatif. Lorsqu'il est activé, les actions suivantes sont acceptées :
- Haut, bas, gauche et droite sur le pavé directionnel
- Rotation dans le sens des aiguilles d'une montre et dans le sens inverse
- Rotation de l'image (cinq étapes à la fois)
- Clic sur le contrôleur et de nouveau sur le contrôleur
Les commandes et les combinaisons de touches sont indiquées ci-dessous.
La molette d'une souris envoie des commandes dpad rotate
, et le clic du bouton central de la souris (généralement la molette) envoie des commandes dpad click
.
Notez que la plupart des voitures sont équipées d'un écran tactile. Certains véhicules n'ont qu'un contrôleur rotatif, tandis que d'autres sont équipées d'un contrôleur et d'un écran tactile hybride. Les voitures sont également compatibles avec un pavé tactile qui permet de faire des panoramiques de cartes et de saisir du texte. Tenez compte de ces différentes configurations lorsque vous simulez différentes unités principales de véhicule.
Commande | Touche | Description |
---|---|---|
dpad {up|down|left|right} |
Touches fléchées | Déplacement du contrôleur rotatif. |
dpad {ur|dl|ul|dr} |
Déplacement du contrôleur rotatif. | |
dpad soft {left|right} |
Maj + Touches fléchées | Boutons latéraux disponibles sur certains contrôleurs rotatifs. |
dpad click |
Retour | Appui sur le contrôleur rotatif. |
dpad back |
Retour arrière | Bouton "Retour" disponible sous certains contrôleurs rotatifs. |
dpad rotate left |
1 | Déplacement du contrôleur rotatif vers la gauche (dans le sens inverse des aiguilles d'une montre). |
dpad rotate right |
2 | Déplacement du contrôleur rotatif vers la droite (dans le sens des aiguilles d'une montre). |
dpad flick left |
Maj+1 | Rotation rapide du contrôleur rotatif dans le sens inverse des aiguilles d'une montre. |
dpad flick right |
Maj+2 | Rotation rapide du contrôleur rotatif dans le dans le sens des aiguilles d'une montre. |
dpad 0-9*#+ |
Pavé numérique |
Micro
La DHU permet d'utiliser un micro pour la saisie vocale ou de lire une piste vocale préenregistrée. Pour vous aider, nous mettons à votre disposition les fichiers audio suivants pour les commandes vocales courantes. Ces fichiers audio sont installés dans le répertoire SDK_LOCATION/extras/google/auto/voice/
.
Nom du fichier | Texte |
---|---|
navhome.wav |
Emmène-moi à la maison. |
navwork.wav |
Conduis-moi au bureau. |
navsoh.wav |
Conduis-moi à l'Opéra de Sydney. |
navgoogle.wav |
Conduis-moi au 1600 Amphitheatre Parkway, Californie, États-Unis. |
exitnav.wav |
Quitter la navigation. |
howlong.wav |
Combien de temps reste-t-il jusqu'à ma destination ? |
showtraffic.wav |
Afficher les conditions de circulation. |
showalternateroute.wav |
Afficher d'autres itinéraires. |
pause.wav |
Mettre en pause la musique. |
nextturn.wav |
À quel endroit je dois tourner ? |
Pour exécuter un fichier .wav
individuel dans l'invite de la DHU, procédez comme suit :
mic play /path/to/filename.wav
Commande | Touche | Description |
---|---|---|
mic begin |
M | Active le micro (ce qui équivaut à cliquer sur le bouton de volant) et attend que le micro de l'ordinateur envoie une entrée. |
mic play filename.wav
|
Active le micro et lit l'enregistrement de fichier WAV spécifié. Remarque : vous n'entendez pas le fichier WAV en cours de lecture, mais vous entendez la réponse d'Android Auto. | |
mic repeat |
Répète le dernier enregistrement utilisé avec mic play . |
|
mic reject {on|off} |
Active ou désactive le rejet des demandes de micro. Lorsque cette option est activée, toutes les requêtes de micro sont refusées. |
Capteurs
La DHU permet de simuler les changements de données des capteurs du véhicule à l'aide des commandes suivantes. Pour simuler des données de capteurs et les envoyer à Android Auto, les capteurs correspondants doivent être activés avec le fichier de configuration .ini
lors du démarrage de la DHU.
Commande | Description |
---|---|
fuel [percentage] |
Définissez le pourcentage spécifié du niveau de carburant ou n'indiquez aucune valeur afin de désactiver ces données. |
range [km] |
Définissez la plage de kilomètres spécifiés ou n'indiquez pas de valeur pour désactiver ces données. |
lowfuel [{on|off}] |
Configurez le capteur d'avertissement de faible niveau de carburant ou n'indiquez aucune valeur pour désactiver le capteur. |
accel [x] [y] [z] |
Définissez les valeurs x, y et z (m/s^2) de l'accéléromètre ou n'utilisez pas de paramètres pour désactiver ces données. Utilisez le protocole NAN pour ignorer les paramètres facultatifs si nécessaire. |
compass bearing [pitch] [roll] |
Définissez la boussole sur les valeurs d'orientation, de tangage et de roulis (en degrés) spécifiées. Utilisez le protocole NAN pour ignorer les paramètres facultatifs si nécessaire. |
gyro [x] [y] [z] |
Définissez le gyroscope sur la vitesse de rotation x, y ou z (rad/s) ou ne transmettez pas de paramètres pour désactiver ces données. Utilisez le protocole NAN pour ignorer les paramètres facultatifs si nécessaire. |
location lat long [accuracy] [altitude] [speed] [bearing] |
Définissez la position sur les valeurs de latitude et de longitude spécifiées, avec éventuellement la précision (m), l'altitude (m), la vitesse (m/s) et l'orientation (degrés). Utilisez le protocole NAN pour ignorer les paramètres facultatifs si nécessaire. |
odometer km [current_trip_km] |
Définissez le compteur kilométrique sur les kilomètres spécifiés avec éventuellement une valeur pour le kilométrage du trajet actuel. |
speed [speed] |
Définissez la vitesse du véhicule sur la valeur spécifiée (m/s) ou n'indiquez aucune valeur pour désactiver le capteur. |
tollcard {insert|remove} |
Indique si une carte de péage a été insérée ou enlevée. |
Mode Jour/Nuit
La DHU permet de simuler le passage du mode Jour au mode Nuit, et vice versa, à l'aide des commandes et des combinaisons de touches suivantes.
Commande | Touche | Description |
---|---|---|
day |
Maj+N | Active le mode Jour (luminosité élevée, couleur). |
night |
Ctrl+N | Active le mode Nuit (luminosité faible, contraste élevé). |
daynight nightday |
N | Active et désactive le mode Jour ou Nuit. |
Gestion du ciblage
La DHU permet de simuler si Android Auto cible ou non l'unité principale à l'aide des commandes suivantes.
Commande | Description |
---|---|
focus video {on|off|toggle} |
Active ou désactive le ciblage vidéo d'Android Auto sur l'unité principale. La désactivation du ciblage vidéo simule le passage de l'unité principale en mode natif. |
focus audio {on|off|toggle} |
Active ou désactive le ciblage audio d'Android Auto sur l'unité principale. La désactivation du ciblage audio simule la lecture de la source audio par l'unité principale. |
focus nav {on|off|toggle} |
Active ou désactive le ciblage de la navigation Android Auto sur l'unité principale. La désactivation du ciblage de la navigation simule l'exécution du système de navigation par l'unité principale. |
Restrictions lorsque le véhicule est en mouvement
La DHU permet de simuler certaines restrictions lorsque le véhicule est en mouvement, par exemple en désactivant le clavier et en interdisant les configurations de téléphone.
Commande | Touche | Description |
---|---|---|
restrict none |
U | Désactive toutes les restrictions. |
restrict all |
Maj+U | Active toutes les restrictions (par exemple, pour simuler la conduite). |
Cluster d'instruments
La DHU prend en charge l'émulation d'un cluster d'instruments (généralement situé derrière le volant) qui affiche des informations de base pendant la navigation sur le prochain virage (telles que le nom de la prochaine rue, la distance/le temps restant ou une flèche signalant le virage) et des informations à propos des appels téléphoniques potentiels en cours.
Vous pouvez activer cette fonctionnalité à l'aide de l'entrée instrumentcluster
dans la section [general]
du fichier de configuration, ou à l'aide des entrées navcluster
ou phonecluster
pour contrôler chaque fonctionnalité séparément.
[general]
...
instrumentcluster = true
Affichage des clusters
Certains véhicules possèdent des affichages de clusters capables d'afficher des informations visuelles riches, telles que des cartes. À partir de la version 2.1 de la DHU (actuellement disponible via la version bêta de la mise à jour Android Studio), vous pouvez émuler cet affichage sur votre ordinateur de développement.
Pour ce faire, utilisez un fichier de configuration avec une section d'affichage du cluster ([display]
).
Les sections [display]
acceptent les mêmes options de configuration vidéo que l'affichage principal configuré dans la section [general]
du fichier.


...
# 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
...
Vous pouvez ajouter cette configuration directement à un fichier .ini
existant ou la réutiliser en la plaçant dans un fichier distinct et en transmettant plusieurs fichiers de configuration lors du lancement de la DHU. Lorsque vous utilisez plusieurs fichiers de configuration, les définitions ultérieures d'une valeur donnée remplacent les précédentes.
# 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
État de la lecture du contenu multimédia
La DHU permet l'affichage d'informations supplémentaires concernant la lecture de contenus multimédia, par exemple le titre en cours de lecture.
Vous pouvez activer cette fonctionnalité à l'aide de l'entrée playbackstatus
dans la section [general]
.
[general]
...
playbackstatus = true
Codes de clavier
La DHU fournit un ensemble de codes de clavier par défaut qui simulent l'ensemble des boutons de raccourci, généralement disponibles dans différents véhicules. Par exemple, le code de clavier home
peut être déclenché dans l'invite de la DHU comme suit :
keycode home
Code de clavier | Description |
---|---|
home |
Accéder à l'écran d'accueil |
back |
Revenir en arrière |
call |
Passer un appel ou y mettre fin |
search |
Déclencher la recherche |
media_play_pause media_play media_pause |
Lire ou mettre en pause un contenu multimédia |
media_next media_previous |
Passer à la piste multimédia suivante ou précédente |
media |
Accéder à l'application multimédia par défaut |
navigation |
Accéder à l'application de navigation par défaut |
tel |
Accéder à l'application Téléphone par défaut |
Configurer la DHU
La DHU accepte un fichier de configuration .ini
pour modifier les modes d'entrée disponibles (tactiles, contrôleur), la fréquence d'images, la résolution et la valeur PPP que l'unité principale demande au téléphone.
L'emplacement par défaut du fichier de configuration est ~/.android/headunit.ini
. Si vous souhaitez modifier la configuration de l'unité principale de votre système, vous pouvez mettre à jour ce fichier.
Vous pouvez également spécifier un fichier de configuration à charger à l'aide de l'indicateur -c
.
./desktop-head-unit -c /path/to/config.ini
Exemple de configuration
[general]
touch = true
touchpad = false
controller = false
instrumentcluster = false
resolution = 800x480
dpi = 160
framerate = 30
fueltypes = unleaded,electric,hydrogen
evconnectors = supercharger
Vous trouverez des exemples de fichiers de configuration dans le dossier SDK_LOCATION/extras/google/auto/config/
. Ils présentent différents paramètres d'unité principale que vous pouvez tester. Pour les cas d'utilisation plus avancés, reportez-vous aux paramètres acceptés ci-dessous.
Configuration de l'entrée
Nom | Valeur par défaut | Type | Description |
---|---|---|---|
inputmode |
default |
Chaîne | Définit le mode d'entrée. Les options touch , rotary et hybrid permettent d'activer ou de désactiver l'utilisation de l'écran tactile et du contrôleur rotatif, et de définir les codes de clavier par défaut, le cas échéant. default s'applique aux options touch et controller ci-dessous. |
controller |
false |
Booléen | Active l'entrée pour le contrôleur rotatif. Ignoré, sauf si inputmode est default . |
touch |
true |
Booléen | Active l'écran tactile. Ignoré, sauf si inputmode est default . |
touchpad |
false |
Booléen | Active le pavé tactile. |
touchpadnavigation |
false |
Booléen | Active le pavé tactile pour la navigation dans l'interface utilisateur. |
touchpadtapasselect |
false |
Booléen | Lorsque cette option est définie sur "true", un geste sur le pavé tactile est considéré comme un événement de sélection. |
touchpaduiabsolute |
false |
Booléen | Lorsque touchpadnavigation est défini sur true , cela indique si les gestes doivent être traités comme des gestes absolus ou comme de simples gestes. |
Configuration vidéo
Android Auto est compatible avec trois résolutions vidéo :
- 480 px (800 x 480 -- valeur par défaut)
- 720p (1 280 x 720)
- 1 080 px (1 920 x 1 080)
Pour prendre en charge d'autres formats que ceux ci-dessus, l'unité principale peut spécifier une marge pour le format letterbox/pillarbox, si nécessaire. Par exemple, pour un écran de 1 000 x 600 pixels, vous devez définir la résolution sur 720 px (1 280 x 720), une largeur de marge de 280 et une hauteur de marge de 120. Cela a pour effet d'ajouter une marge de 140 pixels sur les bords gauche et droit, et de 60 pixels en haut et en bas.
Exemple de configuration pour émuler un écran classique de 6 pouces :
[general]
...
resolution = 800x480
marginwidth = 50
marginheight = 30
Et un très grand écran :
[general]
...
resolution = 1280x720
marginwidth = 0
marginheight = 220
Nom | Valeur par défaut | Type | Description |
---|---|---|---|
resolution |
800x480 |
Chaînes | Choix possible : 800x480 , 1280x720 ou 1920x1080 . |
dpi |
160 |
Nombre entier | |
normalizedpi |
false |
Booléen | Lorsque la valeur est true , la taille de fenêtre de la DHU est réduite pour prendre en compte les valeurs PPP élevées. Lorsqu'elle est définie sur false , des valeurs PPP élevées agrandissent les fenêtres (ce qui n'imite pas les vrais écrans, mais permet d'inspecter plus facilement le contenu visuel). |
realdpi |
160 |
Nombre entier | Utilisé dans la configuration vidéo. |
framerate |
30 |
Nombre entier | Utilisé dans la configuration vidéo. |
marginheight |
0 |
Nombre entier | Utilisé dans la configuration vidéo. |
marginwidth |
0 |
Nombre entier | Utilisé dans la configuration vidéo. |
margins |
0,0,0,0 |
Chaîne | Utilisé dans la configuration vidéo. Remplace marginwidth et marginheight , le cas échéant. Le format est : haut, bas, gauche, droite. |
contentinsets |
0,0,0,0 |
Chaîne | Utilisé dans la configuration vidéo. Le format est : haut, bas, gauche, droite. |
stablecontentinsets |
0,0,0,0 |
Chaîne | Utilisé dans la configuration vidéo. La valeur par défaut est contentinsets . Le format est : haut, bas, gauche, droite. |
cropmargins |
false |
Booléen | Si margins , marginheight ou marginwidth sont spécifiés, la valeur true de ce paramètre supprime ces marges de la vidéo affichée. Cette configuration reflète plus fidèlement ce que l'utilisateur final voit. |
pixelaspectratio |
1.0 |
Float | Utilisé dans la configuration vidéo. |
Configuration des capteurs
Pour simuler des données de capteurs et les envoyer à Android Auto, les capteurs correspondants doivent être activés à l'aide des options ci-dessous. Si un capteur est désactivé, toutes les données qui lui sont envoyées à l'aide des commandes de la DHU sont ignorées.
Nom | Valeur par défaut | Type | Description |
---|---|---|---|
accelerometer |
false |
Booléen | Active les données de capteur de l'accéléromètre. |
compass |
false |
Booléen | Active les données de capteur de la boussole. |
driving_status |
false |
Booléen | Active les données de capteur permettant de déterminer si le véhicule est en mouvement. |
fuel |
false |
Booléen | Active les données de capteur du niveau de carburant. |
gyroscope |
false |
Booléen | Active les données de capteur du gyroscope. |
location |
false |
Booléen | Active les données de capteur de localisation du véhicule. |
night_mode |
false |
Booléen | Active les données de capteur du mode Nuit. |
odometer |
false |
Booléen | Activer les données de capteur de l'odomètre. |
speed |
false |
Booléen | Active les données du capteur de vitesse. |
toll_card |
false |
Booléen | Active les données de capteur de la carte à péage. |
Divers
Nom | Valeur par défaut | Type | Description |
---|---|---|---|
instrumentcluster |
false |
Booléen | Active le cluster d'instruments. Ajoute une fenêtre à l'interface utilisateur pour afficher la navigation et l'état du téléphone. |
navcluster |
false |
Booléen | Active le cluster d'instruments. Ajoute une fenêtre à l'interface utilisateur pour afficher l'état de la navigation. |
phonecluster |
false |
Booléen | Active le cluster d'instruments. Ajoute une fenêtre à l'interface utilisateur pour afficher l'état du téléphone. |
playbackstatus |
false |
Booléen | Active l'état de la lecture. Ajoute une fenêtre à l'interface utilisateur pour afficher les messages sur l'état de la lecture. |
driverposition |
left |
Chaîne | Choix possible : left , center ou right . |
windowleft |
|
Nombre entier | Définissez la position gauche de la fenêtre principale. |
windowtop |
|
Nombre entier | Définissez la position supérieure de la fenêtre principale. |
fueltypes |
unleaded |
Chaînes | Une ou plusieurs valeurs possibles (séparées par une virgule) :
|
evconnectors |
|
Chaînes | Zéro ou plusieurs valeurs possibles (séparées par une virgule) :
fueltypes contient electric .
|
Dépannage
DHU affichant un écran vide lorsqu'elle est connectée pour la première fois
Il s'agit d'un problème connu sur lequel nous travaillons. Pour contourner ce problème, procédez comme suit :
- Fermez la DHU.
- Suivez l'étape 5 décrite dans la section Exécuter la DHU pour arrêter et redémarrer le serveur de l'unité principale.
- Redémarrez la DHU.
- D'autres étapes d'autorisation peuvent s'afficher sur l'écran du téléphone. Suivez ces étapes. La DHU risque de s'arrêter une nouvelle fois.
- Redémarrez la DHU.
Tester votre application pour Android Automotive OS
Vous pouvez utiliser Android Emulator pour tester le fonctionnement de vos applications sur Android Automotive OS. Cette section explique comment configurer un appareil virtuel Android (AVD) pour tester votre application.
Modifier vos configurations d'exécution pour les applications multimédias
Les applications multimédias sur Automotive OS sont différentes des autres applications Android. Android Automotive OS interagit avec votre application multimédia à l'aide d'intents explicites et en envoyant des appels au service de votre navigateur multimédia.
Pour tester votre application, vérifiez qu'elle ne contient pas d'activité de lancement dans son fichier manifeste, puis empêchez le module automobile de se lancer avec une activité en procédant comme suit :
Dans Android Studio, sélectionnez Exécuter > Modifier les configurations.
Sélectionnez votre module automobile dans la liste des modules de votre application.
Sous Options de lancement > Lancer, sélectionnez Rien.
Cliquez sur Appliquer, puis sur OK.
Ajouter des images système
Avant de pouvoir créer des AVD correspondant au matériel d'un fabricant spécifique, vous devez ajouter des images système pour ces appareils via le SDK Manager d'Android Studio. Ensuite, lorsque vous créerez un AVD, vous pourrez télécharger ces images système pour les utiliser avec l'AVD.
Ajouter les images système de constructeurs automobiles
Vous pouvez ajouter une image système spécifique à l'OEM pour les modèles GM, Honda, Polestar, Volvo, etc. Veuillez suivre la procédure indiquée sur les sites des développeurs OEM correspondants :
Par ordre alphabétique :
Installer des images système génériques
Android Studio comprend également une image système générique pour Android Automotive OS, qui vous permet de tester votre application. Cette image système générique inclut l'Assistant Google afin que vous puissiez tester l'intégration de votre application.
Pour installer l'image système générique, procédez comme suit :
- Dans Android Studio, sélectionnez Outils > SDK Manager.
- Cliquez sur l'onglet Plates-formes SDK.
- Cliquez sur Afficher les détails du package.
- Sur Android 9.0 (Pie), sélectionnez Image système Automotive Intel x86 Atom.
Cliquez sur Apply (Appliquer), puis sur OK.
Créer un AVD pour une voiture et exécuter l'émulateur
Suivez ces étapes pour créer un appareil virtuel Android (AVD) représentant un véhicule Android Automotive OS, puis utilisez-le pour exécuter l'émulateur :
- Dans Android Studio, sélectionnez Outils > AVD Manager.
- Cliquez sur Créer un appareil virtuel.
- Dans la boîte de dialogue Sélectionner le matériel, sélectionnez Automotive, puis choisissez un appareil et cliquez sur Suivant.
- Sélectionnez une image système qui cible l'automobile, comme Android 9.0 (Automotive), puis cliquez sur Suivant.
- Donnez un nom à l'AVD et sélectionnez les autres options que vous souhaitez personnaliser, puis cliquez sur Terminer.
- Dans la barre de la fenêtre d'outils, sélectionnez votre AVD Android Automotive OS comme cible de déploiement.
- Cliquez sur Run (Exécuter)
.
Exigences supplémentaires spécifiques aux tests des applications multimédias
Si vous testez une application multimédia, vous devez également tester les scénarios décrits dans cette section (en plus de tester votre application sur Android Auto et/ou sur Android Automotive OS).
Tester les scénarios de démarrage de MediaBrowserService
Pour assurer la sécurité des conducteurs et des passagers, les utilisateurs doivent respecter certaines restrictions supplémentaires concernant les interactions avec les applications lorsque le véhicule est en mouvement. Pour cette raison, Android Auto et Android Automotive OS impliquent des scénarios de démarrage MediaBrowserService
que votre application doit pouvoir gérer pour que les utilisateurs puissent continuer à profiter de votre continu lorsqu'ils sont en déplacement.
Testez votre application pour vous assurer qu'elle peut gérer chacun des scénarios suivants :
- Le
MediaBrowserService
est exécuté avant l'ouverture d'un élémentActivity
. - Le
MediaBrowserService
est exécuté lorsqu'aucun élémentActivity
ne peut être affiché. - Le
MediaBrowserService
est exécuté lorsque l'utilisateur n'est pas connecté.
Lorsque vous testez ces scénarios, veillez à ne pas omettre les méthodes suivantes :
- Forcez l'arrêt de l'application multimédia, puis lancez Android Auto ou Android Automotive OS.
- Effacez les données de l'application multimédia, puis lancez Android Auto ou Android Automotive OS.
Assurez-vous également de définir un message d'erreur approprié si nécessaire.
Outils de test des contenus multimédias
L'application Media Controller Test vous permet de tester les subtilités de la lecture des contenus multimédias sur Android et vous aide à vérifier la mise en œuvre de votre session multimédia. Pour vous familiariser avec cet outil, consultez Utiliser l'application de test du contrôleur multimédia.