Commencez à créer des applications pour ChromeOS

Les appareils ChromeOS, tels que les Chromebooks, sont compatibles avec le Google Play Store et Applications Android. Dans cet article, nous partons du principe que vous disposez déjà d'une application Android conçue pour téléphones ou tablettes à optimiser pour les Chromebooks. Pour découvrir les principes de base de création d'applications Android, consultez l'article Créer votre première l'application Nest.

Mettre à jour le fichier manifeste de votre application

Pour commencer, mettez à jour votre fichier manifeste afin de tenir compte du matériel et les différences logicielles entre les Chromebooks et les autres appareils équipés d'Android.

À partir de la version M53 de ChromeOS, toutes les applications Android qui ne requièrent pas explicitement l'autorisation android.hardware.touchscreen fonctionne également sur les appareils ChromeOS compatibles android.hardware.faketouch. Toutefois, pour vous assurer que votre application fonctionne Chromebooks, mettez à jour votre fichier manifeste pour que La fonctionnalité android.hardware.touchscreen n'est pas requise, comme indiqué dans les dans l'exemple suivant.

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
          ... >
    <!-- Some Chromebooks don't support touch. Although not essential,
         it's a good idea to explicitly include this declaration. -->
    <uses-feature android:name="android.hardware.touchscreen"
                  android:required="false" />
</manifest>

Différents appareils matériels sont équipés de différents jeux de capteurs et Les Chromebooks n'ont peut-être pas tous les capteurs des appareils portables Android, comme le GPS ou les accéléromètres. Cependant, dans certains cas, la fonctionnalité d'un capteur est fournie d'une autre manière. Par exemple, il est possible que les Chromebooks ont des capteurs GPS, mais ils fournissent des données de localisation basées sur les connexions Wi-Fi. Consultez la présentation des capteurs pour en savoir plus. sur les capteurs compatibles avec la plate-forme Android.

Si vous souhaitez que votre application s'exécute sur des Chromebooks, indépendamment de la disponibilité des capteurs, mettre à jour votre fichier manifeste afin qu'aucun capteur ne soit nécessaire.

Certaines fonctionnalités logicielles ne sont pas compatibles avec les Chromebooks. Par exemple, les applications des IME personnalisés, des widgets d'application, des fonds d'écran animés et des lanceurs d'applications ne sont pas sont compatibles et ne peuvent pas être installées sur les Chromebooks. Pour obtenir la liste complète fonctionnalités logicielles non prises en charge sur les Chromebooks, consultez la section fonctionnalités logicielles.

Mettre à jour votre SDK cible

Mettre à jour le targetSdkVersion de votre application au dernier niveau d'API disponible pour bénéficier de toutes les sur la plate-forme Android. Passez en revue les améliorations apportées à Android plate-forme sur différentes versions.

Vérifier la configuration réseau requise

Les Chromebooks exécutent l'ensemble du système d'exploitation Android dans un conteneur semblable à Docker ou LXC. Cela signifie qu'Android n'a pas d'accès direct au LAN du système de commande. Au lieu de cela, le trafic IPv4 passe par une couche interne de réseau la traduction d'adresse (NAT), et le trafic unicast IPv6 est acheminé via une couche saut d'obstacles.

Les connexions unicast sortantes d'une application Android vers Internet principalement fonctionnent en l'état. En général, les connexions entrantes sont bloquées. Multidiffusion ou diffusion les paquets provenant d'Android ne sont pas transférés au LAN via le pare-feu.

Exception à la restriction de multidiffusion, ChromeOS exécute un service qui transfère le trafic mDNS entre Android et l'interface LAN, de sorte que la norme API de détection de services réseau sont le moyen recommandé de découvrir d’autres appareils sur le segment LAN. Après Trouver un appareil sur le réseau local, une application Android peut utiliser l'unicast TCP ou UDP standard sockets pour communiquer avec lui.

Les connexions IPv4 provenant d'Android utilisent l'adresse IPv4 de l'hôte ChromeOS. En interne, l'application Android voit une adresse IPv4 privée attribuée au réseau. de commande. Les connexions IPv6 provenant d'Android utilisent une adresse différente provenant de l'hôte ChromeOS, car le conteneur Android dispose d'un adresse IPv6.

Utiliser efficacement le cloud et le stockage local

Les Chromebooks permettent aux utilisateurs de passer facilement d'un appareil à un autre. Si un utilisateur arrête utilisent un Chromebook et en utilisent un autre, il leur suffit de se connecter. toutes leurs applications s'affichent.

Grâce à cette fonctionnalité, sauvegardez les données de votre application dans le cloud pour permettre la synchronisation sur plusieurs appareils. Cependant, ne dépendez pas d'une connexion Internet pour que votre application fonctionne normalement. Enregistrez plutôt le travail de l'utilisateur localement lorsque l'appareil est hors connexion et se synchronisent avec le cloud une fois l'appareil reconnecté.

Les Chromebooks peuvent également être partagés entre un grand nombre de personnes, par exemple les établissements scolaires. Le stockage local n'étant pas infini, des comptes entiers avec leur espace de stockage, et peuvent être supprimés de l'appareil à tout moment. Pour en milieu scolaire, c'est une bonne idée de garder ce scénario à l'esprit.

Mettre à jour les bibliothèques du NDK

Si votre application utilise les bibliothèques du NDK Android et que la version de SDK cible est 23 ou assurez-vous que les relocalisations de texte sont supprimées à la fois dans ARM et dans x86 versions de vos bibliothèques NDK, car elles ne sont pas compatibles avec Android 6.0 (API niveau 23) ou supérieur. En laissant le déplacement du texte dans les bibliothèques du NDK, peut également entraîner des erreurs de compatibilité avec les Chromebooks, s'exécutant sur un appareil utilisant une architecture x86.

Développer de nouveaux scénarios de test pour votre application

Pour développer des scénarios de test pour votre application, assurez-vous d'abord de spécifier les indicateurs de fichier manifeste. En particulier, envisagez de définir screenOrientation à unspecified. Si vous souhaitez spécifier une orientation paysage, envisagez d'utiliser sensorLandscape pour garantir une expérience optimale sur tablette.

Si vous avez des besoins spécifiques en termes de taille ou d'orientation pour les environnements de bureau, envisagez en ajoutant des balises Meta comme indicateurs de taille ou d'orientation. Pour inclure la taille et l'orientation sur les téléphones, spécifier la mise en page defaultHeight, defaultWidth, ou minHeight .

Si vous êtes intéressé par une gestion spécifique d'un périphérique d'entrée pour un appareil en particulier catégories, spécifiez android.hardware.type.pc pour désactiver la saisie mode de compatibilité.

Si vous utilisez un réseau, assurez-vous que l'application peut se reconnecter au réseau après la résolution d'un problème de connexion ou la sortie de veille de l'appareil mode Sommeil.

Nous vous recommandons de consulter la liste des scénarios de test pour les applications Android sur Chrome. OS, que vous pouvez utiliser dans votre plan de test. Les scénarios de test couvrent les scénarios courants pour lesquels les applications Android doivent être préparées si elles sont censées fonctionner sur des appareils ChromeOS.

Changements d'orientation et du mode multifenêtre

L'environnement multifenêtre de ChromeOS permet la persistance et le rappel d'état. les questions de manière plus évidente. Utiliser ViewModel pour enregistrer et restaurer votre état, le cas échéant.

Pour tester la persistance de l'état, réduisez votre application pendant un certain temps, gourmand en ressources, et restaurez votre application pour vérifier qu'elle revient à l'état dans lequel vous l'avez laissé.

Testez le redimensionnement de la fenêtre en appuyant sur la touche plein écran (F4), en agrandissant et ou restaurer. Pour tester le redimensionnement libre, commencez par l'activer dans les options pour les développeurs, puis Vérifiez ensuite que votre application est redimensionnée de façon fluide et sans plantage.

Si votre appareil ChromeOS le permet, passez du mode Ordinateur portable au mode Tablette pour vérifier si tout fonctionne comme prévu. Faites pivoter l'appareil une fois en mode Tablette pour tester les changements d'orientation, puis revenir au mode ordinateur portable. Répéter cette étape plusieurs fois.

Assurez-vous que la barre supérieure ne perturbe pas votre application en déplaçant des éléments d'interface utilisateur. ou la saisie tactile basée sur la localisation. Pour les appareils ChromeOS, assurez-vous que votre application ne place pas d'informations importantes dans la zone de la barre d'état.

Si vous utilisez l'appareil photo ou une autre fonctionnalité matérielle, comme le stylet, s'assurer qu'il se comporte correctement lors de l'exécution des modifications des fenêtres et des appareils décrits précédemment.