Tutoriel 5 - Le mobile : Android

Nous allons maintenant prendre notre application et la déployer en tant qu’application Android.

Le processus de déploiement d’une application sur Android est très similaire au processus de déploiement d’une application de bureau. Briefcase prend en charge l’installation des dépendances pour Android, y compris le SDK Android, l’émulateur Android et un compilateur Java.

Créer une application Android et la compiler

Tout d’abord, lancez la commande create. Celle-ci télécharge un modèle d’application Android et y ajoute votre code Python.

(beeware-venv) $ briefcase create android

[helloworld] Generating application template...
Using app template: https://github.com/beeware/briefcase-android-gradle-template.git, branch v0.3.18
...

[helloworld] Installing support package...
No support package required.

[helloworld] Installing application code...
Installing src/helloworld... done

[helloworld] Installing requirements...
Writing requirements file... done

[helloworld] Installing application resources...
...

[helloworld] Removing unneeded app content...
Removing unneeded app bundle content... done

[helloworld] Created build/helloworld/android/gradle

Lorsque vous lancez briefcase create android pour la première fois, Briefcase télécharge un JDK Java et le SDK Android. La taille des fichiers et le temps de téléchargement peuvent être considérables ; cela peut prendre un certain temps (10 minutes ou plus, selon la vitesse de votre connexion Internet). Une fois le téléchargement terminé, vous serez invité à accepter la licence Android SDK de Google.

Une fois cette opération terminée, nous aurons un répertoire buildhelloworld\android\gradle dans notre projet, qui contiendra un projet Android avec une configuration de construction Gradle. Ce projet contiendra le code de votre application, ainsi qu’un package de support contenant l’interpréteur Python.

Nous pouvons ensuite utiliser la commande build de Briefcase pour compiler ce fichier dans un fichier d’application APK Android.

(beeware-venv) $ briefcase build android

[helloworld] Updating app metadata...
Setting main module... done

[helloworld] Building Android APK...
Starting a Gradle Daemon
...
BUILD SUCCESSFUL in 1m 1s
28 actionable tasks: 17 executed, 11 up-to-date
Building... done

[helloworld] Built build/helloworld/android/gradle/app/build/outputs/apk/debug/app-debug.apk

Gradle peut sembler bloqué

Pendant l’étape briefcase build android, Gradle (l’outil de construction de la plateforme Android) affiche CONFIGURING : 100%, et semble ne rien faire. Ne vous inquiétez pas, il n’est pas bloqué - il est en train de télécharger plus de composants du SDK Android. Selon la vitesse de votre connexion Internet, cela peut prendre encore 10 minutes (ou plus). Ce décalage ne devrait se produire que la première fois que vous lancez build ; les outils sont mis en cache, et lors de votre prochain build, les versions mises en cache seront utilisées.

Exécuter l’application sur un appareil virtuel

Nous sommes maintenant prêts à exécuter notre application. Vous pouvez utiliser la commande run de Briefcase pour exécuter l’application sur un appareil Android. Commençons par l’exécuter sur un émulateur Android.

Pour lancer votre application, exécutez briefcase run android. Vous obtiendrez alors une liste d’appareils sur lesquels vous pouvez faire fonctionner l’application. Le dernier élément sera toujours une option pour créer un nouvel émulateur Android.

(beeware-venv) $ briefcase run android

Select device:

  1) Create a new Android emulator

>

Nous pouvons maintenant choisir l’appareil que nous souhaitons. Sélectionnez l’option « Créer un nouvel émulateur Android », et acceptez le choix par défaut du nom de l’appareil (beePhone).

Briefcase run démarrera automatiquement l’appareil virtuel. Lorsque l’appareil démarre, vous verrez le logo Android :

Démarrage d'un dispositif virtuel Android

Démarrage d’un dispositif virtuel Android

Une fois que l’appareil a fini de démarrer, Briefcase installera votre application sur l’appareil. Vous verrez brièvement un écran de lancement :

Appareil virtuel Android entièrement démarré, sur l'écran du lanceur

Appareil virtuel Android entièrement démarré, sur l’écran du lanceur

L’application démarre alors. Vous verrez un écran de démarrage pendant que l’application démarre :

Écran d'accueil de l'application

Écran d’accueil de l’application

L’émulateur n’a pas démarré !

L’émulateur Android est un logiciel complexe qui s’appuie sur un certain nombre de caractéristiques du matériel et du système d’exploitation - des caractéristiques qui peuvent ne pas être disponibles ou activées sur des machines plus anciennes. Si vous rencontrez des difficultés au démarrage de l’émulateur Android, consultez la section « Exigences et recommandations <https://developer.android.com/studio/run/emulator#requirements>`__ » de la documentation destinée aux développeurs Android.

La première fois que l’application démarre, elle doit se décompresser sur l’appareil. Cela peut prendre quelques secondes. Une fois qu’elle est décompressée, vous verrez la version Android de notre application de bureau :

Application du didacticiel 2, entièrement lancée

Lancement de l’application de démonstration

Si vous ne voyez pas votre application se lancer, vous devrez peut-être vérifier le terminal où vous avez lancé briefcase run et rechercher les messages d’erreur.

A l’avenir, si vous souhaitez utiliser cet appareil sans utiliser le menu, vous pouvez fournir le nom de l’émulateur à Briefcase, en utilisant briefcase run android -d @beePhone pour utiliser directement l’appareil virtuel.

Exécuter l’application sur un appareil physique

Si vous avez un téléphone ou une tablette Android physique, vous pouvez le connecter à votre ordinateur à l’aide d’un câble USB, puis utiliser la mallette pour cibler votre appareil physique.

Android exige que vous prépariez votre appareil avant de pouvoir l’utiliser pour le développement. Vous devrez apporter deux modifications aux options de votre appareil :

  • Activer les options pour les développeurs

  • Activer le débogage USB

Les détails sur la manière d’effectuer ces changements peuvent être trouvés dans la documentation du développeur Android <https://developer.android.com/studio/debug/dev-options#enable>`__.

Une fois ces étapes terminées, votre appareil devrait apparaître dans la liste des appareils disponibles lorsque vous lancez briefcase run android.

(beeware-venv) $ briefcase run android

Select device:

  1) Pixel 3a (94ZZY0LNE8)
  2) @beePhone (emulator)
  3) Create a new Android emulator

>

Ici, nous pouvons voir un nouvel appareil physique avec son numéro de série sur la liste de déploiement - dans ce cas, un Pixel 3a. À l’avenir, si vous souhaitez exécuter sur cet appareil sans utiliser le menu, vous pouvez fournir le numéro de série du téléphone à Briefcase (dans ce cas, briefcase run android -d 94ZZY0LNE8). Cela lancera l’application directement sur l’appareil, sans l’inviter à le faire.

Mon appareil n’apparaît pas !

Si votre appareil n’apparaît pas du tout dans cette liste, c’est que vous n’avez pas activé le débogage USB (ou que l’appareil n’est pas branché !).

Si votre appareil apparaît, mais qu’il est listé comme « Unknown device (not authorized for development) », le mode développeur n’a pas été correctement activé. Réexécutez les étapes pour activer les options de développement, et réexécutez briefcase run android.

Étapes suivantes

Nous avons maintenant une application sur notre téléphone ! Y a-t-il un autre endroit où nous pouvons déployer une application BeeWare ? Consultez Tutoriel 6 pour le savoir…