Déboguer une application Flutter avec l'émulateur Android
Flutter est un framework très utilisé pour le développement d'applications mobile, aussi bien pour les plateformes Android qu'iOS.
Nous allons nous intéresser ici au développement à destination d'Android avec l'Android Emulator pour tester et valider notre application.
En général il est recommandé d'utiliser Visual Studio Code avec les extensions Dart et Flutter, qui permettent d'introduire la coloration syntaxique, l'autocompletion du code ainsi qu'un débogueur dans l'IDE.
Déboguer les fichiers sur l'émulateur
Les extensions de VS Code trouvent leurs limites lorsque l'on a besoin de vérifier des fichiers sur l'émulateur, par exemple lorsque vous avez une base de données SQLite dans votre application.
Pour déboguer ces fichiers il va falloir ouvrir Android Studio, et créer un projet (ou utiliser un projet existant).
Une fois dans l'interface d'un projet, on va avoir accès à 2 outils :
- le Device Manager, qui permet de visualiser les émulateurs Android disponibles, et d'en créer de nouveaux
- le Device File Explorer, qui montre une copie de l'arborescence des fichiers de l'émulateur en cours de fonctionnement
Les fichiers présents dans le Device File Explorer ne sont pas les vrais fichiers mais une copie de ces fichiers, il n'est donc pas possible de modifier les fichiers sur l'émulateur directement. En revanche il est possible de les consulter et de les télécharger.
Ouvrir le Device Manager depuis Tools > Device Manager, pour le Device File Explorer View > Tool Windows > Device Explorer.
Vous devriez voir quelque chose dans ce genre:

Trouver les fichiers de son application
Pour pouvoir trouver les fichiers dans le Device File Explorer, il faut au préalable avoir configuré le champ applicationId du fichier /android/app/build.gradle de votre projet.
Ce champ représente le nom de l'application, généralement sous la forme com.nom-de-domaine.nom-application.
android {
...
defaultConfig {
...
applicationId "nom_application"
...
}
...
On trouvera les fichiers de l'application dans le dossier /data/data/nom_application du Device File Explorer.
Pour reprendre l'exemple de la base SQLite, vous pourrez trouver le fichier de base de données dans databases/ et le télécharger (clic droit > Save As...).
C'est à ce jour le seul moyen que j'ai trouvé pour vérifier que ma base de données était correctement créée, et que les données s'enregistraient bien.
Supprimer les fichiers de l'émulateur Android
On est parfois bloqué, sans vraiment savoir pourquoi l'application ne fonctionne pas, ou ne prend pas les modifications faites à son code.
Dans ce genre de situation, on a besoin de remettre les données de l'émulateur à zéro afin de compiler et tester une application à jour.
Depuis le Device Manager, dans l'onglet Virtual, sélectionner les options de l'émulateur concerné et choisir Wipe Data (l'émulateur doit être arrêté).
Astuce sur l'émulateur Android
On voit souvent des tutoriaux où le développeur réduit la fenêtre de l'IDE pour la mettre à gauche et pouvoir afficher l'émulateur à droite.
Il existe une option dans les préférences de l'émulateur Android, pour pouvoir garder l'émulateur au premier plan: Settings > Emulator always on top
