Android Studio est un environnement de développement pour développer des applications Android. Il est basé sur IntelliJ IDEA.
Android Studio permet principalement d’éditer les fichiers Java et les fichiers de configuration d’une application Android.
Il propose entre autres des outils pour gérer le développement d’applications multilingues et permet de visualiser la mise en page des écrans sur des écrans de résolutions variées simultanément.
Android est un système d’exploitation mobile basé sur le noyau Linux et développé actuellement par Google.
Les différents kits de développement sont :
l’Android NDK (Android Native Development Kit) est une API du système d’exploitation Android permettant de développer directement dans le langage C/C++ du matériel cible, par opposition au Android SDK qui est une abstraction en bytecode Java, indépendante du matériel.
l’Android SDK est un ensemble complet d’outils de développement (pour Linux, MAC OS ou Windows). Il inclut un débogueur, des bibliothèques logicielles, un émulateur basé sur QEMU, de la documentation, des exemples de code et des tutoriaux.
l’Android ADK (Accessory Development Kit) a été mis en oeuvre par Google afin de dévlopper des accessoires via des cartes d’extensions (comme Arduino) avec Android. La connexion s’effectue via le port USB ou en Bluetooth.
Les outils :
l’ADB (Android Debug Bridge) est un outil inclus dans le package Android SDK. Il se compose d’un programme client et d’un programme serveur communicant entre eux et qui permet :
Lien : Les différentes versions d’Android
Pour développer des applications Android, il faut au moins disposer du Android SDK et du kit de développement Java. Pour faciliter le développement, il est conseillé d’untiliser un EDI/IDE (Integrated Development Environment) comme Android Studio.
Ces outils sont disponibles aussi bien sous Linux que sous Windows et Mac OS (sur processeur Intel). Les applications Android étant exécutées par une machine virtuelle, il n’y a pas d’avantages particuliers à développer sur un système plutôt qu’un autre …
JRE (Java Runtime Environement) est le kit destiné au client pour pouvoir exécuter un programme Java. Il se compose essentiellement d’une machine virtuelle Java (JVM) capable d’exécuter le bytecode et les bibliothèques standard de Java.
Le kit destiné au programmeur, appelé avant JDK (Java Development Kit) et renommé depuis la version 1.2.2 en SDK (Standard Development Kit), est composé d’un JRE, d’un compilateur, de nombreux programmes utiles, d’exemples de programmes Java et des les sources de toutes les classes de l’API.
Le développement Android nécessite le SDK Java, le JRE seul n’est pas suffsant. La version 2.1 d’Android Studio utilisée ici nécessite la version 1.8 de Java SDK.
Si Java est déjà installé sur le poste, sa version peut être vérifée en ligne de commande par :
$ javac -version
Sinon télécharger Java SE Development Kit 8 puis l’installer :
$ sudo cp jdk-8u102-linux-x64.tar.gz /usr/local
$ cd /usr/local/
$ sudo tar zxvf jdk-8u102-linux-x64.tar.gz
$ sudo rm jdk-8u102-linux-x64.tar.gz
$ vim $HOME/.bashrc
export PATH=/usr/local/jdk1.8.0_102/bin:$PATH
$ source $HOME/.bashrc
Pour les systèmes 64-bits, il faudra tout d’abord installer les bibliothèques 32-bits suivantes :
$ sudo apt-get install lib32z1 lib32ncurses5 lib32bz2-1.0 lib32stdc++6
Télécharger Android Studio puis l’installer :
$ sudo cp android-studio-ide-143.3101438-linux.zip /usr/local
$ cd /usr/local/
$ sudo unzip android-studio-ide-143.3101438-linux.zip
$ sudo rm android-studio-ide-143.3101438-linux.zip
$ vim $HOME/.bashrc
export PATH=/usr/local/jdk1.8.0_102/bin:$PATH:/usr/local/android-studio/bin:$HOME/Android/Sdk/platform-tools:$HOME/Android/Sdk/tools
$ source $HOME/.bashrc
$ studio.sh
Le SDK Android est constitué de paquets modulaires qui peuvent être téléchargés séparément au moyen de l’outil Android SDK Manager. Cet outil est particulièrement pratique lorsqu’il est nécessaire de faire une mise à jour liée à une évolution du niveau d’API. Plusieurs niveaux d’API peuvent cohabiter.
Mettre à jour le SDK et choisir son API :
$ android
Remarque : cette commande est devenue obsolete et elle est remplacée par sdkmanager
(25.2.3 et supérieur). Elle permet de visualiser, d’installer, de mettre à jour et de désinstaller des packages pour le SDK d’Android. On peut aussi le faire directement à partir d’Android Studio. La commande se trouve dans $HOME/Android/Sdk/tools/bin
.
Les outils en ligne de commande (CLI) :
$ adb
Android Debug Bridge version 1.0.36
Revision af05c7354fe1-android
...
$ android list
Available Android targets:
----------
id: 1 or "android-24"
Name: Android 7.0
Type: Platform
API level: 24
...
// Ou :
$ sdkmanager --list
On démarre l’IDE Android Studio :
$ studio.sh
Passer le smartphone ou la tablette en mode développeur (Paramètres -> A propos du téléphone -> Numéro de build) puis activer le débugage USB (Paramètres -> Options pour les développeurs).
Brancher le smartphone ou la tablette via le port USB (ici un Acer Z120) et vérifier qu’il est détecté par le système :
$ dmesg
...
[72893.663574] usb 3-9.4.2: New USB device found, idVendor=0502, idProduct=3472
[72893.663581] usb 3-9.4.2: New USB device strings: Mfr=2, Product=3, SerialNumber=4
[72893.663584] usb 3-9.4.2: Product: MT65xx Android Phone
[72893.663587] usb 3-9.4.2: Manufacturer: MediaTek
[72893.663589] usb 3-9.4.2: SerialNumber: AAEEQCBQAYRCRWDQ
[72893.664509] scsi14 : usb-storage 3-9.4.2:1.0
[72894.660646] scsi 14:0:0:0: Direct-Access Linux File-CD Gadget 0000 PQ: 0 ANSI: 2
[72894.660945] scsi 14:0:0:1: Direct-Access Linux File-CD Gadget 0000 PQ: 0 ANSI: 2
[72894.662178] sd 14:0:0:0: Attached scsi generic sg10 type 0
[72894.662552] sd 14:0:0:1: Attached scsi generic sg11 type 0
[72894.663606] sd 14:0:0:0: [sdj] Attached SCSI removable disk
[72894.663818] sd 14:0:0:1: [sdk] Attached SCSI removable disk
$ lsusb
...
Bus 003 Device 016: ID 0502:3472 Acer, Inc.
Sous Linux, il est nécessaire de créer un fichier de règles udev qui contient une configuration USB pour chaque type de périphérique réel. En tant que root, créer le fchier /etc/udev/rules.d/51-android.rules
et y inscrire la ligne suivante (en précisant en hexadécimal votre idVendor) :
$ sudo vim /etc/udev/rules.d/51-android.rules
SUBSYSTEM=="usb", ATTR{idVendor}=="0502", MODE="0666"
Brancher le téléphone et vérifer qu’il est reconnu :
$ adb devices
List of devices attached
AAEEQCBQAYRCRWDQ device
Les principales commandes sont :
Lancer Android Studio : studio.sh
Lancer Android SDK Manager : android
ou sdkmanager
Tester la connexion avec un périphérique Android : adb devices
Il s’agit maintenant de tester la chaine de développement installée avec une application minimale de type « Hello World » …
Démarrer Android Studio :
$ studio.sh
Choisir ‘Basic Activity’ :
Configurer le chemin du Java SDK :
L’environnement Android Studio :
Cliquer sur ‘Run app’ :
Pour la cible, vous avez le choix entre le smartphone (ou la tablette) connecté ou un émulateur (cliquer sur ‘Create New Emulateur’ pour en créer un) :
Par défaut, le dossier de l’application est situé dans $HOME/AndroidStudioProjects
.
Les fichiers “inutiles” (à ne pas mettre notamment dans un dépôt svn subversion) sont :
.gradle
build
et app/build
local.properties
workspace.xml
.idea/libraries
*.iml
et app/*.iml
Voici un script pour les supprimer :
#!/bin/bash
if [ $# -lt 1 ]
then
echo "Usage: $0 <dossier>"
exit
fi
dossier=$1
if [ ! -d $dossier ]
then
echo "Erreur: $dossier introuvable"
exit
fi
rm -rf $dossier/.gradle
rm -rf $dossier/build
rm -rf $dossier/app/build
rm -f $dossier/local.properties
rm -f $dossier/.idea/workspace.xml
rm -rf $dossier/.idea/libraries
rm -f $dossier/*.iml
rm -f $dossier/app/*.iml