ADB et test des applications Android

La possibilité d'exécuter des applications Android sur un Chromebook est un avantage considérable. Elle permet aux utilisateurs d'accéder à l'immense écosystème Android et aux développeurs Android de toucher les utilisateurs de ChromeOS.

Les développeurs doivent s'assurer de valider leurs applications sur différents facteurs de forme, car cela contribuera à améliorer l'expérience utilisateur. C'est pourquoi ChromeOS fournit aux développeurs Android les outils nécessaires pour déployer et tester leurs applications sur les Chromebooks.

Que les développeurs déploient leur application Android directement depuis ChromeOS (en utilisant Android Studio sur leur Chromebook) ou depuis un autre appareil, ils peuvent utiliser ADB pour déployer leurs applications et déboguer différentes interactions avec les Chromebooks. Pour en savoir plus, consultez les étapes ci-dessous.

Activer le débogage ADB

Auparavant, il n'était possible d'utiliser ADB sur votre Chromebook qu'en mode développeur, ce qui nécessitait de réinitialiser l'appareil et pouvait réduire la sécurité. Heureusement, depuis Chrome 81, les développeurs peuvent désactiver le mode développeur sur leurs appareils et continuer à déployer les applications qu'ils développent directement dans ChromeOS, en un clic. Pour ce faire, procédez comme suit :

Tout d'abord, assurez-vous que le Chromebook n'est pas en mode développeur. Accédez ensuite aux paramètres et activez Linux (si vous ne l'avez pas déjà fait).

Activer Linux

Une fois Linux disponible, ouvrez les paramètres Linux et vous trouverez une nouvelle option "Développer des applications Android". Ouvrez cette option.

Activez le débogage ADB. L'ordinateur redémarrera.

Activer le débogage ADB

Lorsque l'ordinateur redémarre, un message s'affiche pour vous indiquer que des applications n'ont peut-être pas été téléchargées depuis l'App Store sur l'appareil.

Cet appareil peut contenir des applications qui n'ont pas été validées par Google

ADB est désormais disponible pour déployer des applications sur votre Chromebook, exécuter des commandes de débogage et interagir directement avec l'appareil.

Pour vous assurer que votre application Android fonctionne correctement sur différents Chromebooks et facteurs de forme disponibles, Google vous recommande de la tester sur les appareils suivants :

  • Un Chromebook basé sur ARM
  • Un Chromebook basé sur x86
  • Un appareil avec écran tactile et un sans écran tactile
  • Un appareil convertible, c'est-à-dire un appareil qui peut se transformer en ordinateur portable ou en tablette
  • Un appareil avec un stylet

Déployer depuis ChromeOS

Après avoir activé le débogage ADB, vous pouvez charger une application Android directement sur votre appareil ChromeOS à l'aide d'Android Studio. Si vous disposez d'un fichier APK, vous pouvez le charger à l'aide du terminal.

Déployer avec Android Studio

Une fois que vous avez configuré Android Studio et ADB comme décrit ci-dessus, vous pouvez transférer vos applications vers le conteneur Android du Chromebook directement depuis Android Studio.

Le Chromebook s'affiche comme option dans le menu déroulant des appareils :

Menu déroulant des appareils Android Studio

Vous pouvez maintenant transférer votre application comme sur n'importe quel autre appareil Android. La boîte de dialogue d'autorisation ADB s'affiche la première fois que vous essayez d'envoyer des données vers un nouvel appareil. Une fois l'autorisation accordée, votre application se lance dans une nouvelle fenêtre.

Se connecter à l'appareil via ADB dans Android Studio

Et voilà ! Vous pouvez maintenant déployer l'application sur le Chromebook, la tester et la déboguer sans avoir à passer en mode développeur.

Déployer avec le terminal

Installez ADB si nécessaire :

sudo apt install adb

Connectez-vous à l'appareil :

adb connect arc

Un pop-up d'autorisation pour le débogage USB s'affiche la première fois que vous essayez de déployer l'application sur l'appareil. Vous devez l'autoriser.

Autorisation de connexion à l'appareil

Installez votre application à partir du terminal :

adb install [path to your APK]

Installer votre application à partir du terminal

Déployer depuis un autre appareil

Si vous ne pouvez pas utiliser la méthode décrite ci-dessus et que vous devez transférer votre application depuis un autre appareil, vous pouvez connecter l'appareil à ADB à l'aide d'un câble USB ou d'une adresse réseau.

Se connecter à ADB via un réseau

  1. Assurez-vous d'avoir activé le débogage ADB.

Obtenez l'adresse IP de votre Chromebook :

  1. Cliquez sur l'horloge en bas à droite de l'écran.

  2. Cliquez sur l'icône en forme de roue dentée.

  3. Cliquez sur le type de réseau auquel vous êtes connecté (Wi-Fi ou données mobiles), puis sur le nom du réseau.

  4. Notez l'adresse IP.

Connectez-vous à votre Chromebook :

  1. Revenez à votre ordinateur de développement et utilisez ADB pour vous connecter à votre Chromebook à l'aide de son adresse IP :

    adb connect 
  2. Sur votre Chromebook, cliquez sur "Autoriser" lorsque vous êtes invité à autoriser le débogueur. Votre session ADB est établie.

Résoudre les problèmes de débogage ADB sur un réseau

Il arrive que l'appareil ADB indique qu'il est hors connexion alors que tout est correctement connecté. Dans ce cas, procédez comme suit pour résoudre le problème :

  1. Désactivez le débogage ADB dans les options pour les développeurs.
  2. Dans une fenêtre de terminal, exécutez adb kill-server.
  3. Réactivez l'option Débogage ADB.
  4. Dans une fenêtre de terminal, essayez d'exécuter adb connect.
  5. Cliquez sur Autoriser lorsque vous êtes invité à autoriser le débogage. Votre session ADB est établie.

Se connecter à ADB via USB

Pour transférer votre fichier APK depuis un autre appareil vers le Chromebook via USB, vous devez démarrer votre ChromeOS en mode développeur afin de pouvoir configurer le Chromebook et transférer des applications depuis la machine hôte. Il s'agit de la seule méthode qui nécessite actuellement le mode développeur et qui ne fonctionne que sur un petit nombre d'appareils. C'est pourquoi nous vous recommandons d'utiliser plutôt ADB sur le réseau. Si vous souhaitez malgré tout continuer, suivez ces étapes pour passer en mode développeur.

  1. Assurez-vous d'avoir activé le débogage ADB.
  2. Déterminez si votre appareil autorise le débogage USB.
  3. Appuyez sur control+alt+t pour démarrer le terminal ChromeOS.
  4. Saisissez shell pour accéder à l'interface système bash :
    crosh> shell
    chronos@localhost / $
  5. Saisissez les commandes suivantes pour configurer votre appareil :
    $ sudo crossystem dev_enable_udc=1
    $ sudo reboot
  6. Après le redémarrage, rouvrez le terminal et exécutez la commande suivante pour activer ADB sur le port USB du Chromebook :
    $ sudo ectool usbpd  dr_swap

Utilisez cette commande chaque fois que vous débranchez et rebranchez un câble USB. Pour vous assurer que votre Chromebook est en mode UFP, vous pouvez exécuter ectool usbpd .

  1. Branchez un câble USB sur un port compatible de votre appareil.
  2. Exécutez adb devices à partir des outils de plate-forme du SDK Android sur votre ordinateur hôte pour voir votre Chromebook listé comme appareil compatible avec ADB.
  3. Sur votre Chromebook, cliquez sur Autoriser lorsque vous êtes invité à autoriser le débogueur. Votre session ADB est établie.