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….

Android SDK Manager : Manage AVDs

Android SDK Manager : 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.

Sources inconnues

Sources inconnues

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.

Débogage USB

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é.