Partager via


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 Android 12L ne démarre pas

Le dernier émulateur Surface Duo Android 12L nécessite que l’émulateur Android dans vos outils sdk soit version 31.3.12 ou ultérieure (ou 32.1.5 ou plus récente dans le canal canary).

Consultez les étapes préalables, de téléchargement et d’installation pour obtenir des instructions détaillées sur la mise à jour de votre émulateur dans les outils sdk.

L’émulateur Android 11 ne démarre pas

Vous pouvez voir l’erreur suivante dans la sortie du terminal :

WARNING | Failed to process .ini file Surface_Duo_2_API_32.avd/config.ini for reading.
ERROR   | bad config: virtual device file has no valid path.rel entry nor path entry

Cette erreur indique une incompatibilité de configuration entre l’émulateur Surface Duo et l’émulateur dans les outils sdk. Dans Android Studio, vous accédez à l’onglet Outils > du KIT de développement logiciel (SDK) Outils du Gestionnaire > de développement logiciel (SDK) pour voir la version actuelle (et si des mises à niveau sont disponibles). Si vous disposez de la version 31.3.12 ou ultérieure (ou 32.1.5 ou ultérieure dans le canal canary), vous devez mettre à jour un fichier INI pour restaurer la compatibilité entre l’émulateur Surface Duo Android 11 et la version du Kit de développement logiciel (SDK) Android :

  1. Accédez au chemin d’accès .. \SurfaceDuoEmulator_<version>\artifacts\.android\avd\
  2. Modifier le fichier Surface_Duo_2_API_32.ini,
  3. Remplacez le paramètre path.relSurface_Duo_2_API_32.avd par (pour les émulateurs plus anciens, il a été historiquement défini sur avd\Surface_Duo_2_API_32.avd)
  4. Enregistrez et réessayez au démarrage de l’émulateur.

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

Si l’émulateur Surface Duo se bloque, affichant un écran noir au démarrage, cela peut indiquer que l’émulateur rencontre des problèmes de chargement des données ou de l’état à partir d’une exécution précédente. Pour résoudre ce problème, fermez l’émulateur et relancez-le à l’aide d’un script de réinitialisation pour démarrer l’émulateur. 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_SurfaceDuo2.bat sur Windows ou ./run_wipe_SurfaceDuo2.sh sur macOS et Linux.

Une autre solution consiste à installer votre nouvel émulateur dans un emplacement de fichier différent de celui d’un émulateur Android Surface Duo précédemment installé. Vous pouvez choisir l’emplacement d’installation dans le cadre du processus d’installation.

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_SurfaceDuo2.sh (ou ./run_vs_SurfaceDuo2.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 : choisissez l’option Démarrer > l’émulateur Surface Duo ou les icônes de bureau si elles sont disponibles.
  • Mac - Démarrez à partir de la ligne de commande en utilisant ./run_SurfaceDuo2.sh (ou ./run_vs_SurfaceDuo2.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 faisant glisser la poignée en bas de la fenêtre de l’application :

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

Les clients peuvent accepter l’ouverture d’applications sur les deux écrans par défaut dans Paramètres. Pour étendre automatiquement les applications, accédez automatiquement aux fonctionnalités > du Surface Duo Étendre les applications et activez le commutateur. Une fois la fonctionnalité activée, les applications individuelles peuvent être définies pour s’étendre automatiquement à partir de la liste. Les applications s’ouvrent uniquement sur les deux écrans si les écrans sont vides, sinon l’application ne s’ouvre que sur l’écran où elle a été activée.

Application Paramètres montrant le bouton bascule automatique d’applications Span

Cette fonctionnalité est disponible sur Android 11 et versions ultérieures.

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 des fichiers batch avec réinitialisation dans le nom de fichier. Lorsque vous démarrez l’émulateur avec l’un des scripts, il « réinitialise les paramètres d’usine » de l’émulateur.

  • Windows - Dans le dossier artifacts au sein du dossier d’installation, vous pouvez exécuter run_wipe_SurfaceDuo2.bat (ou run_vs_wipe_SurfaceDuo2.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_SurfaceDuo2.sh (ou ./run_vs_wipe_SurfaceDuo2.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.

Échec du lancement de l’émulateur Surface Duo 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.