Sous-système Windows pour Android™️

Grâce au sous-système Windows pour Android™️, votre appareil Windows 11 peut exécuter des applications Android disponibles dans l’Amazon Appstore. Android est une marque de Google LLC. Ce guide s’adresse aux développeurs désireux de créer des applications optimisées pour le système d’exploitation Windows qui ciblent des appareils de bureau Windows.

Important

Microsoft met fin à la prise en charge Sous-système Windows pour Android™️ (WSA). En conséquence, Amazon Appstore sur Windows ainsi que toutes les applications et jeux dépendant du WSA ne seront plus pris en charge à partir du 5 mars 2025. En attendant cette date, le support technique restera disponible pour les clients.
Les clients ayant installé Amazon Appstore ou des applications Android avant le 5 mars 2024, continueront d'avoir accès à ces applications jusqu'à la date de mise hors service du 5 mars 2025. Veuillez contacter notre équipe de support pour toute question supplémentaire à support.microsoft.com. Nous sommes reconnaissants pour le soutien de notre communauté de développeurs et restons engagés à écouter les retours à mesure que nous faisons évoluer les interfaces.

Pour que votre application Android soit disponible sur les appareils Windows 11, vous devez :

Pour plus d’informations ou pour obtenir de l’aide :

Ce guide peut vous aider à tester et déboguer votre application Android sur Windows :

Developer GitHub

Vous souhaitez en savoir plus sur la feuille de route du Sous-système Windows pour Android™️, discuter des problèmes de développeurs et des bogues de fichiers ou des demandes de fonctionnalités avec l’équipe du Sous-système ? Visitez leGitHub des développeurs Sous-système Windows pour Android™️.

Programme d'évaluation

Le programme d'évaluation Sous-système Windows pour Android™️ n’est plus disponible.

Configurer l''environnement de développement

Pour tester votre application Android dans l’environnement de bureau Windows, vous devez effectuer quelques tâches de configuration.

Prérequis

Le Sous-système Windows pour Android™️ est disponible sur Windows 11. Votre appareil doit répondre à des exigences spécifiques : Exigences concernant l’appareil.

Installer l’Amazon AppStore

Microsoft Store installe automatiquement en arrière-plan le Sous-système Windows pour Android™️ quand l’utilisateur effectue l’une des deux actions suivantes :

  1. Installe l’Amazon AppStore à partir du Microsoft Store. Sélectionnez Obtenir pour commencer l’installation de l’application.
  2. Installe une application Android à partir du Microsoft Store pour la première fois, entraînant l’installation d’Amazon Appstore.

L’application Amazon Appstore, disponible dans le menu Démarrer de Windows 11 et dans Recherche, propose un catalogue d’applications Android. L’application Sous-système Windows pour Android™️, qui vous permet de contrôler les paramètres et fonctionnalités de l’application mobile, s’affiche également dans le menu Démarrer.

Capture d’écran de la page du Microsoft Store avec le bouton Obtenir sur l’Amazon Appstore

Notes

L’Amazon Appstore sur Windows (condition pour exécuter des applications Android sur Windows 11) est disponible dans une sélection de régions.

Paramètres de Sous-système Windows pour Android™️

Pour modifier les paramètres de Sous-système Windows pour Android™️, accédez à Démarrer > Toutes les applications > Sous-système Windows pour Android™️. Pour en savoir plus sur les fonctionnalités spécifiques de l’application Paramètres, consultez : Gérer les paramètres des applications mobiles sur Windows.

Capture d’écran des paramètres de l’application Latte

Tester et déboguer

Pour tester et déboguer votre application sur un appareil Windows 11 avec le Sous-système Windows pour Android™️, vous devez effectuer les étapes de configuration suivantes.

Activer le mode développeur dans Paramètres Windows

Vous devez d’abord activer le mode développeur. Ouvrez les paramètres de Sous-système Windows pour Android™️. Une fois les paramètres ouverts, activez le Mode Développeur sous Paramètres avancés.

Se connecter au Sous-système Windows pour Android™️ à des fins de débogage

Pour se connecter à la machine virtuelle du Sous-système Windows pour Android™️ à des fins de débogage :

  1. Lancez une application Android installée en utilisant l’Amazon Appstore.

  2. Vous pouvez vous connecter en utilisant adb connect avec la commande suivante (vous devez avoir installé adb) :

    adb connect 127.0.0.1:58526
    

Se connecter à un appareil de test

Pour vous connecter à un appareil de test (une fois le Sous-système Windows pour Android™️ installé) sur le même réseau à partir d’un ordinateur Windows/Mac :

  1. Sur l’appareil de test (où le Sous-système Windows pour Android™️ est installé), ouvrez une fenêtre PowerShell et identifiez l’adresse IP de l’appareil de test en exécutant la commande suivante :

    ipconfig
    
  2. Dans le terminal de l’appareil de débogage où Android Studio et le Android SDK sont installés (Mac/Windows), entrez la commande suivante :

    adb connect <TEST DEVICE IP ADDRESS>:58526
    

L’adresse <TEST DEVICE IP ADDRESS> se trouve dans la sortie « ipconfig » de l’appareil de test. Vous pouvez également déployer et déboguer des applications à partir d’Android Studio.

Pour utiliser Android Debug Bridge (ADB) afin de connecter votre station de travail de développement directement à votre appareil Android de manière à installer des packages et à évaluer les modifications, consultez la documentation Android Debug Bridge dans Android Open Source Project.

Déboguer votre application

Si vous devez utiliser l’Amazon Appstore pour installer une application Android sur un appareil Windows, vous pouvez la déboguer avec un APK (package d’application Android) et ADB (Android Debug Bridge).

Pour déboguer un APK avec ADB :

  1. Effectuez les étapes ci-dessus pour vous connecter à la machine virtuelle du Sous-système Windows pour Android™️.

  2. Installez l’APK avec la commande adb install : adb install app-debug.apk

    Sortie attendue :

    Performing Streamed Install
    Success
    
  3. Une notification « Application installée » s’affiche dans le menu de notification de Windows et l’application est lancée une fois qu’elle est sélectionnée.

Génération de kits APK universels

Le Sous-système Windows pour Android™️ utilise Intel Bridge Technology pour activer les applications Arm sur les processeurs x86. Les applications Arm s’exécutent sur les processeurs Arm en mode natif. La couche d’émulation entraîne une baisse des performances. Pour des performances optimales, envoyez votre application pour les architectures x86-64 et Arm64.

Considérations relatives à la compatibilité des entrées pour les appareils Windows

Certains modes d’entrée ont des comportements uniques qui vous obligeront probablement à mettre à jour le code de votre application Android, celle-ci ayant été conçue pour des appareils portables, pour qu’elle puisse s’exécuter sur un appareil de bureau Windows par le biais de l’Amazon Appstore.

Saisie au clavier

Pour les champs d’entrée de texte gérés par une méthode d’entrée sur un clavier virtuel à l’écran (ou IME), par exemple EditText, les applications doivent se comporter comme prévu. (Classe EditText dans la documentation Android).

Pour les séquences de touches qui ne peuvent pas être anticipées par le framework, les applications doivent gérer le comportement elles-mêmes. Si ce comportement est déjà implémenté dans l’application, aucune tâche supplémentaire n’est nécessaire.

Par exemple, en plus des entrées tactiles, certains jeux prennent en charge les déplacements au clavier au moyen des touches w, a, s et d.

Les développeurs doivent envisager de mettre à jour le code associé aux entrées au clavier suivantes dans le cadre de la génération d’applications ciblant des appareils Windows 11 :

  • Touche Entrée
  • Navigation avec les touches de direction et la touche Tab
  • Changement de la couleur de surbrillance des éléments sélectionnés
  • Raccourcis avec Ctrl

Pour en savoir plus sur l’optimisation des applications compte tenu des différents scénarios d’entrée au clavier sur les appareils de bureau, consultez la documentation Android suivante :

Saisie à la souris

Les développeurs doivent envisager de mettre à jour le code associé aux entrées à la souris suivantes dans le cadre de la génération d’applications ciblant des appareils Windows :

  • Cliquer avec le bouton droit
  • Info-bulles/texte de pointage
  • Effets de pointage
  • Action associée à la roulette de défilement de la souris
  • Glisser-déposer

Les entrées à la souris, similaires à celles au clavier, doivent suivre les instructions officielles relatives aux applications Android. Vous devez donc utiliser la classe InputDevice avec la constante SOURCE_MOUSE. Pour en savoir plus sur l’optimisation des applications compte tenu des différents scénarios d’entrée à la souris sur les appareils de bureau, consultez la documentation Android suivante :

Gestion et redimensionnement des fenêtres

Contrairement aux facteurs de forme mobiles traditionnels, les applications Android s’exécutant sur Windows 11 peuvent être redimensionnées librement, doivent être réactives en matière de redimensionnement et peuvent être ancrées à l’aide d’actions ou de mouvements Windows.

Configuration d’écran minimale

Windows 11 exige une résolution d’écran minimale de 720p (1280 x 720) avec un écran supérieur à >9 pouces.

Formats « letterbox » et « pillarbox »

Si les proportions d’une fenêtre ne correspondent pas à celles des écrans d’appareil sur lesquels la fenêtre est affichée, vous pouvez obtenir un format « letterbox » (fenêtre plus large que haute, ou plus longue horizontalement) ou « pillarbox » (fenêtre plus étroite que large, ou plus longue verticalement). Des barres sont alors placées sur les côtés de la fenêtre pour la centrer. Ces barres peuvent être claires ou sombres en fonction des paramètres système sélectionnés. Cela ne se produit qu’au besoin quand l’application Android est ancrée ou agrandie, ce qui permet aux applications Android de tirer parti des riches fonctionnalités d’ancrage de Windows et de s’intégrer au modèle de fenêtrage.

Formats « letterbox » et « pillarbox » avec utilisation de barres pour centrer la fenêtre

Autres considérations relatives au redimensionnement

Il est également nécessaire de prendre en compte les éléments suivants liés à la gestion et au redimensionnement des fenêtres lors de la mise à jour d’une application Android en vue de son exécution sur un appareil Windows 11 :

  • Taille initiale au lancement
  • Dimensions de la fenêtre
    • Limites du contenu
    • Redimensionnement en forme libre
  • Orientation de l’écran

Pour en savoir plus sur l’optimisation des applications compte tenu des différents scénarios de redimensionnement de fenêtre sur les appareils de bureau, consultez le guide de gestion des fenêtres dans la documentation Android.

Événements du cycle de vie des applications

Le développement d’applications Android pour un environnement multi-fenêtre a un impact sur les événements de cycle de vie que vous choisissez d’utiliser dans votre application. Même si la substitution de l’événement onPause peut aboutir aux résultats souhaités sur un téléphone ou une tablette, il est généralement inapproprié d’utiliser cet événement si vous changez l’expérience utilisateur de votre application.

Consultez la documentation Android pour obtenir une description des événements de cycle de vie. Le plus souvent, vous souhaiterez utiliser l’événement onStop et non les événements onPause ou onUserLeaveHint. De fait, de nombreuses implémentations Android multi-fenêtres ne fournissent pas la notification onUserLeaveHint. Ainsi, aucune logique critique pour l’entreprise pouvant se trouver dans ce gestionnaire d’événements n’est appelée sur ces plateformes, y compris le Sous-système Windows pour Android™️.

Considérations relatives au cycle de vie de la machine virtuelle

Le Sous-système Windows pour Android™️ utilise une machine virtuelle qui garantit la compatibilité avec le framework AOSP et des périphériques (claviers, souris, écrans tactiles, stylets, etc.).

La machine virtuelle exécutant des applications avec le Sous-système Windows pour Android™️ peut se trouver dans l’un des trois états suivants :

  1. Exécution en cours
  2. Mise en veille légère : cet état est activé quand l’application est inactive pendant 3 minutes. Il est désactivé en cas d’activité de l’utilisateur ou après l’envoi d’une notification par l’application.
  3. Pas en cours d’exécution : cet état est activé quand l’application est inactive pendant 7 minutes.

Les transitions entre ces états sont déclenchées par l’activité de l’utilisateur, comme le lancement de l’application Android, une interaction avec celle-ci ou une notification de l’application. Les applications Android sont suspendues, puis arrêtées lorsque leur fenêtre est réduite.

Graphique du cycle de vie de la machine virtuelle avec les états En cours d’exécution, Mise en veille légère et Pas en cours d’exécution

Propriétés de machine virtuelle

Les propriétés de la machine virtuelle du Sous-système Windows pour Android™️ sont listées ci-dessous. Le codage en dur de ces valeurs n’est pas recommandé, car cela pourrait entraîner des incompatibilités futures.

Propriété Valeur
Build.MANUFACTURER Microsoft Corporation
Build.MODEL Sous-système pour Android(TM)
Build.VERSION.SDK_INT 33
Build.BOARD windows

Redirection vers des applications Windows

Le Sous-système Windows pour Android™️ redirige automatiquement les intentions pour les fichiers et les schémas URI courants vers le gestionnaire de fichiers/protocole Windows par défaut correspondant (si plusieurs filtres d’intention correspondent, les utilisateurs voient une option « Application par défaut Windows » dans la boîte de dialogue du sélecteur). Les intentions de fichier prises en charge incluent ACTION_VIEW, ACTION_EDIT, ACTION_SEND et ACTION_SEND_MULTIPLE, qui copient le fichier dans le dossier Téléchargements Windows avant de l’ouvrir. Les intentions d’URI prises en charge incluent ACTION_VIEW pour les schémas http/https et ACTION_VIEW et ACTION_SENDTO pour le schéma mailto.

Les applications Android peuvent également rediriger manuellement vers des applications Windows à l’aide de schémas URI personnalisés. Définissez l’action d’intention sur com.microsoft.windows.LAUNCH_URI et ajoutez une chaîne supplémentaire à l’intention nommée com.microsoft.windows.EXTRA_URI avec l’URI personnalisé comme valeur. Par exemple, pour lancer l’application Calculatrice Windows à partir d’une application Android (Java) :

Intent intent = new Intent("com.microsoft.windows.LAUNCH_URI");
intent.putExtra("com.microsoft.windows.EXTRA_URI", "ms-calculator:");
 
try {
    startActivity(intent);
} catch (ActivityNotFoundException e) {
    // Not running in Windows Subsystem for Android&trade;️ (or running on an older build that did not contain this feature).
}

Sécurité

Les pilotes en mode noyau Windows et les applications Windows s’exécutant au niveau d’intégrité (IL) moyen peuvent inspecter des conteneurs Android arbitraires et la mémoire de l’application Android. L’ajout de mécanismes de détection de fraudes, macros, bots et autres comportements suspects n’est pas prévu à court terme.

Les développeurs interrogeant getSecurityLevel reçoivent SECURITY_LEVEL_SW_SECURE_CRYPTO. Pour en savoir plus sur getSecurityLevel, consultez le guide de référence des API Android.

Désinstallation du Sous-système Windows pour Android™️

Vous pouvez désinstaller le Sous-système Windows pour Android™️, mais sachez que toutes les applications associées seront également désinstallées.

  • La désinstallation d’Amazon Appstore désinstalle aussi le Sous-système Windows pour Android™️ et toutes les autres applications Android.
  • La désinstallation d’une application de l’Amazon Appstore se limite à la désinstallation de l’application (au même titre qu’une application Windows).
  • La désinstallation du Sous-système Windows pour Android™️ désinstalle Amazon Appstore et toutes les autres applications Android.

Résolution des problèmes

Si vous rencontrez des problèmes spécifiques à l’Amazon Appstore sur Windows, essayez les étapes de dépannage suivantes :

  1. Sélectionnez Recherche Windows dans la barre des tâches de Windows.
  2. Recherchez « Amazon AppStore » et cliquez avec le bouton droit sur l’icône Amazon AppStore.
  3. Sélectionnez « Paramètres de l’application » dans les options de la liste déroulante.
  4. Sélectionnez « Stockage et cache », puis cliquez sur « Effacer le stockage » et « Vider le cache ».
  5. Revenez en arrière et sélectionnez « Forcer l’arrêt ».
  6. Fermez la fenêtre Paramètres d’Amazon Appstore.
  7. Relancez l’Amazon Apptore.

Pour accéder à d’autres étapes de résolution de problèmes relatives à l’application Paramètres du Sous-système Windows pour Android™️ ou pour laisser votre avis dans le Hub de commentaires, consultez Résolution de problèmes et FAQ pour les applications mobiles sur Windows.

Pour toute autre question des développeurs et pour obtenir de l’aide, utilisez l’étiquette Sous-système Windows pour Android™️ sur Microsoft QA.

Ressources supplémentaires