Après avoir vu comment installer le SDK Android et comment créer un projet et le compiler, nous allons voir ici ce qu’il faut faire pour tester votre application en l’installant soit sur un terminal physique, soit sur un émulateur. Nous verrons ensuite comment utiliser un outil très utile pour debugger : le logcat.
Un Android émulé
Pour tester votre application, il vous faut un terminal, qu’il soit physique ou émulé importe peu. Pour créer une version d’Android émulée, il suffit d’aller dans Android SDK Manager (via la commande android). Dans cette fenêtre, allez dans le menu Tools et sélectionnez Manage AVDs….
Ici, cliquez sur New… pour créer un AVD. Vous pouvez bien sûr en créer plusieurs (pour tester différentes versions d’Android). Pour lancer un Android émulé, sélectionnez-en un que vous avez créé et cliquez sur le bouton Start…. Ensuite, tout se passe de la même façon qu’avec un terminal physique.
La subtilité d’un terminal physique
Sur un terminal physique, il faut faire attention : par défaut vous ne pouvez pas installer des paquets ne provenant pas du Play Store. Il vous faut donc avant tout autoriser ces installations (vous pourrez plus tard désactiver l’option si vous avez peur pour la sécurité de votre smartphone) en vous rendant dans la rubrique Sécurité des paramètres d’Android. En bas de cette rubrique, vous trouverez une case Sources inconnues qui, si elle est cochée, autorise l’installation de paquets téléchargés autre part que sur le Play Store.
De plus, votre terminal étant connecté en USB, il faut autoriser votre ordinateur à communiquer avec lui. Pour cela, rendez vous dans la rubrique Options pour les développeurs des paramètres et cochez la case Débogage USB.
Installer une application
Précédemment, je vous avais parlé d’adb. C’est une commande qui va vous permettre de faire pas mal de choses sur votre terminal, y compris installer une application afin de la tester ! Avant toute chose, vous devez lancer le serveur adb via la commande :
adb start-server
Si vous avez connecté votre terminal ou si vous avez lancé un AVD après avoir exécuté cette commande, il vous faudra relancer le serveur pour qu’il prenne en compte le nouveau terminal avec :
adb kill-server
adb start-server
Sans cela, votre terminal n’existera pas pour adb, ce qui est un peu gênant pour pouvoir l’utiliser… La compilation a créé, entre autres, un paquet nommé NomDeLApplication-debug.apk, c’est ce paquet que nous allons tester en l’installant, tout simplement :
adb install ./bin/NomDeLApplication-debug.apk
Attention, ça ne fonctionne que si vous êtes à la racine de votre projet (comme pour compiler). Si vous n’y êtes pas, déplacez-vous ou pensez bien à modifier le chemin du paquet !
Si l’application est déjà installée, vous obtiendrez une belle erreur :
Failure [INSTALL_FAILED_ALREADY_EXISTS]
Plutôt que de désinstaller le paquet, vous pouvez indiquer que c’est une réinstallation (ce qui vous permettra de conserver les données stockées par votre application par exemple) :
adb install -r ./bin/NomDeLApplication-debug.apk
Le cas de plusieurs terminaux
Si vous avez plusieurs terminaux (émulés ou physiques) connectés à votre ordinateur, vous pouvez les lister avec :
adb devices
L’utilité immédiate étant de récupérer l’identifiant du terminal sur lequel vous voulez lancer la commande (d’installation ou de quoi que ce soit d’autre) et de pouvoir l’utiliser comme ceci par exemple :
adb -s [id] install ./bin/NomDeLApplication.apk
Faites bien attention à l’emplacement de l’option -s : placée après le nom de la commande (ici, après install), elle signifie autre chose et cela ne fonctionnera pas comme voulu !
Debugger une application
Pour debugger une application et résoudre un problème, il peut être pratique de voir quand ce problème est survenu exactement… Pour cela, nous pouvons utiliser le logcat pour visualiser en direct ce qui se passe sur notre terminal :
adb logcat
Ça fonctionne de la même façon que install : vous pouvez l’utiliser sur un terminal émulé aussi bien que physique et si vous avez plusieurs terminaux connectés, vous pouvez sélectionner le terminal voulu via l’option -s.
Maintenant c’est fini !
La série des tutoriels concernant le développement pour Android sans passer par Eclipse s’arrête ici (enfin normalement). Pour le reste, ça se passe de la même manière que sur Eclipse : il faut programmer du Java, tout simplement. Notez bien que cet article est loin de citer toutes les choses possibles avec adb : si vous voulez aller plus loin, le manuel visible via adb –help est très bien détaillé.
3 commentaires
[…] Compilez ensuite normalement et tout ira bien. Ce n’est pas encore fini, nous n’avons pas encore vu comment installer notre application, que ce soit via un émulateur ou un appareil Android physique. C’est le sujet de l’article qui fait suite à celui-ci. […]
[…] Pour pouvoir faire tout ça, il va nous falloir un peu de matériel, à commencer par un terminal Android, bien sûr, sur lequel vous aurez installé Firefox pour Android et activé le débogage USB. Vous aurez également besoin d’un câble pour le connecter à votre ordinateur et, pour pouvoir établir comme il le faut cette connexion, nous aurons besoin d’ADB, que vous trouverez dans le SDK d’Android. Toutes les explications dont vous pourriez avoir besoin sont ici. […]
Bonjour,
Dans votre tutoriel sur l’utilisation de ADB, vous indiquez qu’il faut lancer sart-server « avec des droits de root ».
J’aimerais bien savoir comment procéder sous windows ; j’ai ouvert une fenêtre de commande en mode administrateur mais mon terminal Android apparaît « off line.
Bravo pour votre site.
F.B