Conseils pour résoudre les problèmes de l’émulateur Surface Duo

Pour poser des questions ou discuter des problèmes que vous rencontrez avec l’émulateur ou le kit SDK Surface Duo, rendez-vous sur le site Surface Duo Tech Community.

Voici quelques problèmes courants et leur résolution.

L’émulateur Surface Duo ne démarre pas sur les Mac M1

Nous disposons uniquement d’une image d’émulateur Intel. Pour le moment, vous devez utiliser les émulateurs qui sont disponibles via Virtual Device Manager.

Le démarrage de l’émulateur Android 11 est sans fin

Si l’émulateur Android 11 se bloque et montre un écran noir au démarrage, fermez-le et redémarrez-le en utilisant la commande run_wipe. Les scripts se trouvent dans l’emplacement d’installation de l’image de l’émulateur Surface Duo 2.

Avertissement

Le démarrage de l’émulateur en utilisant le script run_wipe entraîne la suppression de toutes les données et applications que vous avez créées ou installées sur votre émulateur.

Si vous comprenez et acceptez de nettoyer toutes les données utilisateur, utilisez ./run_wipe.bat sur Windows ou ./run_wipe.sh sur macOS et Linux.

Une autre solution consiste à installer l’émulateur Android 11 dans un emplacement de fichier différent de celui d’un émulateur Android 10 Surface Duo déjà installé.

L’émulateur Surface Duo n’apparaît pas dans la liste d’appareils d’Android Studio ou de Visual Studio

La version actuelle de l’émulateur Surface Duo ne peut pas être démarrée par votre IDE. Démarrez d’abord manuellement l’émulateur. Une fois en cours d’exécution, il devrait apparaître dans la liste pour le déploiement et le débogage :

  • Windows - Sélectionnez Démarrer  Émulateur Surface Duo.
  • Mac - Démarrez à partir de la ligne de commande en utilisant ./run.sh (ou ./run_vs.sh pour Visual Studio pour Mac).

Une fois que vous avez démarré l’émulateur Surface Duo, il doit apparaître dans la liste des appareils comme appareil virtuel.

L’émulateur Surface Duo n’apparaît pas dans Android Virtual Device (AVD) Manager

La version actuelle de l’émulateur Surface Duo ne peut pas être démarrée dans AVD Manager. Au lieu de cela, vous devez l’installer à partir de notre page de téléchargement et la démarrer manuellement :

  • Windows - Sélectionnez Démarrer  Émulateur Surface Duo.
  • Mac - Démarrez à partir de la ligne de commande en utilisant ./run.sh (ou ./run_vs.sh pour Visual Studio pour Mac).

Les applications ne s’ouvrent pas sur les deux écrans

Par défaut, les applications ne s’ouvrent que sur un seul écran. L’utilisateur peut ensuite choisir d’étendre l’application sur les deux écrans en la faisant glisser.

Trois étapes pour étendre une application sur les deux écrans

Les développeurs d’applications n’ont aucun moyen de forcer par programmation une application à utiliser les deux écrans. Cette action est toujours contrôlée par l’utilisateur.

Le contenu ne pivote pas avec l’émulateur

Vérifiez que la rotation automatique est activée dans le tiroir des notifications ou dans Settings  Display  Auto-rotate screen (Paramètres > Affichage > Rotation automatique de l’écran).

Comment réinitialiser aux paramètres d’usine l’émulateur Surface Duo

Dans le dossier d’installation, il existe quatre fichiers de commandes : run_wipe.bat, run_wipe.sh, run_vs_wipe.bat, run_vs_wipe.bat.

  • Windows - Dans le dossier artifacts au sein du dossier d’installation, vous pouvez exécuter (ou run_vs_wipe.bat pour Visual Studio) directement pour rétablir l’image de l’émulateur Surface Duo à son état d’origine.
  • Mac - Dans une fenêtre de terminal, accédez au dossier dans lequel vous avez copié les fichiers de l’émulateur. Ensuite, tapez ./run_wipe.sh (ou ./run_vs_wipe.sh pour Visual Studio pour Mac) pour rétablir l’image de l’émulateur Surface Duo à son état d’origine.

Ces fichiers sont installés avec la version 2020.1014.2 de l’émulateur qui a été publiée à la mi-octobre 2020.

Si vous utilisez une version antérieure et que vous ne pouvez pas la mettre à jour tout de suite

Si vous avez une version antérieure, vous devez télécharger la version la plus récente, ou vous pouvez créer un fichier de script manuellement. Commencez par copier le fichier run_clean (ou run_vs_clean) existant sur run_wipe (ou run_vs_wipe) et le modifier comme indiqué ci-dessous :

@echo off
set DIRNAME=%~dp0
if "%DIRNAME%" == "" set DIRNAME=.\
"%DIRNAME%\run.bat" -wipe-data

ou pour les fichiers shell sur macOS et Linux :

#!/bin/sh
./run.sh -wipe-data

Le fichier batch/script mis à jour doit se trouver dans le même répertoire que les fichiers batch/script existants que vous utilisez pour démarrer l’émulateur. Si vous modifiez la version de Visual Studio (avec _vs dans le nom de fichier), vérifiez que la dernière ligne fait bien référence à run_vs.bat ou à run_vs.sh.

L’émulateur Surface Duo n’arrive pas à se lancer après une interruption

Lorsque l’émulateur est interrompu au milieu d’un enregistrement d’un instantané, lors des lancements suivants, il tente de démarrer à partir d’un état d’instantané endommagé. Ou parfois, un problème inattendu se produit alors que l’émulateur est en cours d’exécution, il tente de se lancer, mais cela aboutit à une erreur. "emulator: ERROR: bad workspace: cannot find prebuilt kernel in: ../bin/prebuilts/qemu-kernel/x86_64/kernel-qemu"

Dans ce cas, effectuez une réinitialisation aux paramètres d’usine, comme décrit ci-dessus pour résoudre le problème et relancez l’émulateur.