La nouvelle mode pousse le commerce à proposer des applications à installer sur nos téléphones pour enrichir notre expérience de client (SIC).
Nous montrons dans ce tuto comment utiliser ces applications sans perturber le fonctionnement de notre téléphone réel.
il est en effet possible de disposer d'une platforme jetable et peu onéreuse pour tester ou utiliser des Papplications.
Nous présenterons l'installation de l'environnement de développement android studio.
Nous montretons comment lancer un téléphone virtuel à partir de cet environnement, puis directement à partir de la ligne de commandes.
Depuis le site officel: https://developer.android.com/studio . La commande tar permet d'extraire l'archive.
tar fx android-studio-ide-...-linux.tar.gz
export PATH=$PATH:$HOME/android-studio/bin/
L'interface se lance par la commande
studio.sh
La fenêtre de bienvenue s'affiche alors (figure1).
La nouvelle fenêtre de bienvenue (figure 2) s'affiche en demandant quelle action faire,il faut débuter un nouveau projet.
L'IDE propose, dans la (figure 3) des types d'applications prédéfinies. Nous pouvons en choisir une par exemple l'application vide (Empty Activity).
La fenêtre suivante (figure 4) s'ouvre pour configurer le projet. L'application sera compilée en choisissant une version de l'API selon la version, les fonction nalités disponibles ne seront pas les mêmes et un choix de version élevé limitera les appareils pouvant recevoir l'application aux appareils bénéficiant de mises à jour.
D'après Google, moins de 1,1 % des appareils dispose de l'une des trois dernières versions d'Android.
La fenêtre de travail (figure 5) s'ouvre alors. Le studio va effectuer un certain nombre de tâches. Nous attendons qu'il termine.Nous pourrions alors commencer à développer notre application, mais ce n'est pas ce qui nous motive aujourd'hui. Nous allons utiliser un téléphone virtuel.
L'IDE offre la possibilité de télécharger l'application en cours sur un téléphone physique et sur un téléphone virtuel, nous allons préparer un téléphone virtuel.
Pour cela dans le menu Run, nous cliquons sur Select Device (figure 6), puis sur Open AVD Manager.
Le gestionnaire d'appareils virtuels s'ouvre (figure 7) nous allons en créer un.
La (figure 8) présente les appareils disponibles. Par défaut, il s'agit principalement des appareils créés pour Google il faut en choisir un
En suite, il faut choisir la version du système d'exploitation dans la (figure 9).
L'IDE va télécharger les images. Nous avons donc sélectionné la représentation virtuelle d'un téléphone physique et son système d'exploitation.
La fenêtre qui s'ouvre alors, figure 10 , présente les téléphones virtuels disponibles.
L'utilisation prévue de ces machines virtuelles consiste à pouvoir ajouter l'application développée selon les canons officiels.
Il est important de bien vérifier si la licence d'utilisation (ou les lois en vigueur) autorise l'utilisation désirée.
Il est possible de cliquer sur le bouton triangulaire pour activer le téléphone qui apparaît alors à l'écran (figure 11).
Nous avons donc un (voir plusieurs) téléphone virtuel, il sont lancés par Android Studio qui ne nous sert pas.
Nous allons donc voir comment utiliser le téléphone indépendamment (ou presque). Pour cela, nous allons utiliser notre connaissance d'un système GNU / Linux classique.
La première action consiste à trouver quel programme est lancé pour la machine virtuelle et quels sont les paramètres, Kvm est la partie intégrée dans le noyau Linux pour lancer le logiciel de virtualisation d'ordinateurs Qemu.
L'utilitaire pgrep va nous fournir les paramètres utilisés par l'IDE.
pgrep -la qemu
la commande nous donne
4679 /home/david/Android/Sdk/emulator/qemu/linux-x86_64/qemu-system-x86_64 -netdelay none -netspeed full -avd Nexus_6P_API_30
Avec un peu de chance, cette commande pourrait être utilisée, nous commençons par arrêter le téléphone virtuel et le studio.
Puis nous faisons un copier-coller de la commande.
/home/david/Android/Sdk/emulator/qemu/linux-x86_64/qemu-system-x86_64 -netdelay none -netspeed full -avd Nexus_6P_API_30
la commande nous donne
/home/david/Android/Sdk/emulator/qemu/linux-x86_64/qemu-system-x86_64 -netdelay none -netspeed full -avd Nexus_6P_API_30
/home/david/Android/Sdk/emulator/qemu/linux-x86_64/qemu-system-x86_64: error while loading shared libraries: libc++.so.1: cannot open shared object file: No such file or directory
le message d'erreur indique qu'il ne trouve pas la librairie nommé, il faut chercher sa localisation:
find . -name libc++.so.1
la commande nous donne
./Android/Sdk/emulator/lib64/libc++.so.1
./Android/Sdk/build-tools/30.0.3/lib64/libc++.so.1
nous utilisons alors la variable LD_LIBRARY_PATH qui indique ou trouver les librairues partagées qui ne sont pas installées correctement dans le système.
.export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$HOME/Android/Sdk/emulator/lib64
Nous relançons la commande, le terminal se lance sans le reste de l'interface.
Cette méthode utilise les commandes classiques GNU / Linux pour savoir comment un processus a été lancé pour pouvoir le lancer indépendamment de la méthode classique.
Une méthode plus simple, mais qui pourrait ne plus fonctionner dans un futur plus ou moins proche consiste à appeler le gestionnaire de téléphones virtuels qui adaptera l'appel des bibliothèques :
Vous devez d'abord exécuter
adb start-server
./Android/Sdk/emulator/emulator -avd Nexus_6P_API_30
Nous avons alors accès à un téléphone doté de nos applications privatives.
info: Vous devez d'abord exécuter adb start-server, puis exécuteremulator -avd