Tuto: une appli simple Android sans Studio
L’objectif de ce tutoriel est de vous apprendre à développer une première application Android simplement avec les outils de bases et sans installer Visual Studio. Avec quelques modifications, ce procédé peut même être utilisé pour compiler une application Android depuis le smartphone lui-même, via termux. Mais nous supposerons ici que vous disposez d’un PC sous linux, d’une distribution dérivée de debian (comme Ubuntu, antiX, MX17…).
Pourquoi ne pas utiliser Visual Studio ?
Parce que Visual Studio est un très bon outil, mais c’est aussi un outil extrèmement lourd et qui ne convient pas à toutes les configurations. En comparaison, le procédé proposé ci-dessous est très léger et surtout la compilation est très rapide. Il vous permet également d’utiliser votre éditeur de texte préféré, comme Vim par exemple :-) Enfin, la plupart des autres tutos de développement android s’appuient sur Vistual Studio; il est donc bienvenue de montrer des solutions alternatives.
Pourquoi un tuto en Français ?
Parce qu’il existe déjà de nombreux tutos en anglais, et que les tutos en français favorisent le renforcement de la communauté francophone de développement.
Pré-requis
Vous devez disposer d’un ordinateur sous Linux, si possible d’une distribution dérivée de debian (Ubuntu, AntiX, MX17…) et d’un smartphone/tablette sous Android pour tester votre programme.
- Installer le SDK Android:
Vérifiez que les commandes javac et jar fonctionnent bien.
- Créez un répertoire pour votre appli:
- Créez la structure dont vous aurez besoin:
- Choisissez un nom de package; supposions que vous vous appeliez Toto et que nous appelions notre app “unbouton”, alors le package est typiquement fr.toto.unbouton
- Créez le fichier ./AndroidManifest.xml qui décrit votre application:
Notez dans ce fichier que vous devez indiquer le package choisi, puis le nom de l’application deux fois dans activity. Vous pourrez y ajouter les permissions dont vous aurez besoin, si vous voulez par exemple accéder à internet, etc.
On y trouve aussi le nom de l’icone qui représentera votre programme. Il nous faut donc aussi créer cette icone. Pour faire vite, vous pouvez simplement créer (avec gimp par exemple) un fichier image PNG de 144x144 pixels et le recopier dans:
- Créez ensuite la fenêtre principale de votre application, dans res/layout/main.xml
- Maintenant, le programme principal, dans src/fr/toto/unbouton/Unbouton.java
- Bien ! Il ne reste plus qu’à écrire le script de compilation dans ./build.sh
Avant d’exécuter ce script, il vous faut le modifier et réaliser une petite opération supplémentaire.
D’abord, pour le modifier, vous voyez au début du script les 2 variables ANDBIN et ANDJAR pointent respectivement vers le répertoire contenant les exécutables du android-sdk, et le .jar contenant le système android. Vous devez mettre à jour ces 2 variables en:
- cherchant où se trouvent les programmes aapt et dx: ils se trouvent typiquement à une adresse semblable à celle indiquée ci-dessus si vous avez installé android-sdk avec apt-get, mais vous devez le vérifier, et s’ils n’y sont pas, chercher dans les répertoires /usr/lib/android-sdk. Si vous ne trouvez rien, regardez où pointe le lien du programme adb, qui doit être accessible par défaut sinon votre installation de android-sdk n’est pas correcte:
puis fouillez où indique le lien.
- cherchant où se trouve android.jar: typiquement au même endroit que aapt et dx, mais en remplaçant build-tools par platforms/…
Une fois que vous avez configuré ces 2 variables, ce script devrait fonctionner pour n’importe quelle application android simple.
Il reste toutefois une chose à faire: toute application doit être signée avec une clef qui vous indentifie. Pour cela, il vous faut créer votre clef, en lançant une et une seule fois (pour toutes vos applications !) la commande suivante dans votre HOME:
Cette commande vous demandera un mot de passe pour protéger votre clef: sauvez ensuite (en clair, tant pis…) ce mot de passe dans le répertoire de votre application dans le fichier jarsigner.password. Ce fichier est lu au début du script pour pouvoir signer automatiquement votre apk à la fin.
Il ne vous reste plus qu’à compiler votre application avec
Si tout se passe bien, le résultat est dans app/out.apk
Vous pouvez alors l’installer, après avoir connecté votre smartphone à votre PC, avoir activé le débuggage USB sur votre smartphone, ainsi que autoriser l’installation d’apk provenant de sources “inconnues”, avec:
Résolution de problèmes
- Si adb ne reconnaît pas votre smartphone, vous pouvez récupérer le numéro de vendor de votre smartphone avec lsusb: c’est la première séquence de 4 chiffres. Vous ajoutez alors cette séquence dans ~/.android/adb_usb.ini sous la forme:
0x45f1
- Si le nom du smartphone est remplacé par des ?????????, vous devez ajouter dans /etc/udev/rules.d/51-android-rules
Dans tous les cas, il faut à chaque fois tuer le server adb, déconnecter le smartphone, et le relancer
Si adb ne se connecte toujours pas, tuez encore le server, et essayer de relancer en mode sudo:
Avec toutes ces astuces, il est normalement toujours possible de connecter un smartphone à votre PC; en tout cas, j’y suis toujours parvenu quelque soit le smartphone.
Bon développement android !