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
(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
(beeware-venv) C:\...>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
(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
(beeware-venv) C:\...>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
>
(beeware-venv) $ briefcase run android
Select device:
1) Create a new Android emulator
>
(beeware-venv) C:\...>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
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
L'application démarre alors. Vous verrez un écran de démarrage pendant que l'application démarre :

É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 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 :
L'application de démonstration est 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.
Lorsque l'application est en cours d'exécution, vous verrez de nombreux messages s'afficher dans la console. Il s'agit d'un flux de journaux de l'application provenant de l'émulateur. Taper Ctrl+C dans le terminal arrêtera le flux d'informations dans la console, mais ne fermera pas l'émulateur. Cela vous permet de tester de nouvelles modifications sans redémarrer l'émulateur.
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.
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
>
(beeware-venv) $ briefcase run android
Select device:
1) Pixel 3a (94ZZY0LNE8)
2) @beePhone (emulator)
3) Create a new Android emulator
>
(beeware-venv) C:\...>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 le Tutoriel 6 pour le savoir…