Vous êtes sur la page 1sur 14

Développement d’Applications Mobiles (DAM) 2018-2019 – Semestre 1 Université Constantine 2

Université Abdelhamid Mehri – Constantine 2


2018-2019 – Semestre 1

Développement d’applications mobiles

– Cours 3 –
Chapitre 3 : L’outil de développement Android Studio
Installation et configuration

Staff pédagogique
Nom Grade Faculté/Institut Adresse e-mail
Chaouche Ahmed-Chawki MCB Nouvelles Technologies ahmed.chaouche@univ-constantine2.dz

Etudiants concernés
Faculté/Institut Département Année Spécialité
Nouvelles Technologies IFA Licence 3 Technologie de l’Information (TI)
Nouvelles Technologies IFA Licence 3 Science de l’informatique (SCI)

Objectifs du cours 3
Installer et configurer l’outil de développement : Android Studio
Comprendre le cycle de développement d’une application Android
Créer et exécuter une première application Android

© Dr. A.-C. Chaouche Page 1 à 14


Développement d’Applications Mobiles (DAM) 2018-2019 – Semestre 1 Université Constantine 2

1. Préparation de l’environnement de développement


Avant d’entamer l’installation de l’environnement de développement, il faut vérifier votre machine de
développement. Voici les besoins matériels afin de pouvoir développer des applications Android :
2 Go de mémoire RAM, mais 8 Go de RAM est préférable.
Plus de 10 Go d'espace disque pour tout installer.
Un processeur puissant avec le maximum de fréquence,
Un cœur de votre processeur est suffisant, car l'émulation s’exécute sur un seul cœur, donc augmenter
le nombre de cœurs ne servira à rien.
1.1. L’IDE Android Studio
Android Studio est l’environnement de développement intégré (IDE) officiel pour développer des applications
Android. Il est basé sur l’IDE de Java IntelliJ IDEA, qui est développé par JetBrains.
Avant Android Studio, de 2009 à 2014, Google proposait comme IDE une distribution spécifique de Eclipse,
appelée ADT, avec des plugins contenant notamment le SDK de Android [1]. Android Studio a été annoncé
par Google le 15 mai 2013 avec une version béta, qui est conçu spécifiquement pour le développement Android
et ses besoins. Le 8 décembre 2014, Android Studio passe à version stable 1.0 et L’IDE devient alors officiel
par Google, et ADT est délaissé. La version actuelle d’Android Studio est la 3.1.4 sortie en août 2018 [2].
Cette version propose des améliorations pour simplifier la vie des développeurs et permet également de
supporter la version d’Android Pie (API 28). Comme seul inconvénient, Android Studio est plus gourmant que
ADT en consommant beaucoup de mémoire (généralement plus d’1 Go de RAM), même s’il s’améliore au
fils des versions.

SDK

Android Studio regroupe la richesse de IntelliJ IDEA combinée avec les capacités qui sont nécessaires pour le
développement sous Android. Il permet de mettre rapidement en place de nouveaux projets sur le système
Android, pour créer une application d'interface utilisateur, ajouter des composants basés sur l'API Android,
déboguer vos applications en utilisant les outils du SDK de Android, et même d’exécuter vos applications sur
un appareil mobile ou sur un émulateur.
Android Studio intègre aussi le moteur Gradle, qui automatise les tâches et permet un développement simplifié.
Il nécessite également l’installation du Java Runtime Environment (JRE) pour que toutes ses fonctinnalités
soient opérationnnelles.
1.2. Installation du JDK
Android Studio nécessite le JDK installé de Java SE, en version 7 minimum. Sachant que Android n’a pas
besoin de toutes les packages du JDK, mais seuelement certains d’entres-eux :
Certains packages Java complètement implémentés dans Android dont java.io, java.net et
java.sql

© Dr. A.-C. Chaouche Page 2 à 14


Développement d’Applications Mobiles (DAM) 2018-2019 – Semestre 1 Université Constantine 2

Certains packages Java partiellement implémentés dans Android tels que java.lang, java.util et
javax.sql
Certains packages Java non implémentés dans Android tels que javax.swing,java.applet et
java.rmi
A partir du site officiel d’Oracle, voici la page de téléchargement de la version actuelle du JDK (8u181) :
http://www.oracle.com/technetwork/java/javase/downloads/index.html

1.3. Installation de Android Studio


Tout d’abord, il faut télécharger le packet de Android Studio (environ 2 Go). Ce paquet inclut, en plus de l'IDE,
la plateforme de Android, qui permet la compilation du code source, les outils de test et de débogage, ainsi que
l'image du système Android qui fonctionne comme un émulateur.
https://developer.android.com/studio/

Remarque
Lors de l’installation de Android Studio, il faut choisir le chemin suivant :
D:\android\android-studio

1.4. Installation du Android SDK


Les applications Android seront développées en Java, mais un appareil sous Android ne comprend pas Java tel
qu’il est, il comprend une variante de Java adaptée pour Android. Un kit de développement (SDK) de Android,
appelé Android SDK, est un SDK spécifique incluant les outils nécessaires permettant de développer des
applications. Il inclut un débogueur, des bibliothèques logicielles, un émulateur, de la documentation, des
exemples de code et des tutoriaux.

© Dr. A.-C. Chaouche Page 3 à 14


Développement d’Applications Mobiles (DAM) 2018-2019 – Semestre 1 Université Constantine 2

Sachant que le paquet de Android Studio n’inclut pas Android SDK, donc après l’avoir installer, une fenêtre
de téléchargement du SDK sera lancée. Les paquets nécessaires du SDK, requierent au moins 10 Go de
téléchargement. De ce fait, le SDK compressé dans sdk.zip, sera fourni dans un DVD (ou un flash disk).

Remarque
Voici les étapes pour configurer Android SDK :
1) Décompressez sdk.zip dans le chemin : D:\android\android-sdk
2) Définir les chemins d’accès du JDK et de Androdi SDK (voir la section suivante).

1.5. Chemin du JDK et de Android SDK


Une fois le téléchargement et l’installation terminés de tous les paquets nécessaires pour le développement
Android, il est possible de modifier les chemins d’accès du JDK et de Android SDK selon les 2 méthodes
suivantes :

Méthode 1 : (Lors de la première utilisation)


1) Au premier lancement de Android Studio, une fenêtre s’ouvre, cliquer sur Configure → Project Defaults
→ Project Structure.

Méthode 2 :
1) Dans Android Studio, cliquer sur l’icône de Project Structure ou aller à : File → Project Structure…
→ SDK Location.

2) La fenêtre suivante apparaîtra, permettant de modifier les chemins d’accès du JDK et de Android SDK de
Android.

© Dr. A.-C. Chaouche Page 4 à 14


Développement d’Applications Mobiles (DAM) 2018-2019 – Semestre 1 Université Constantine 2

Remarque :
Les applications Android peuvent être développés en Java via Android SDK ou directement en C/C++ via
Android NDK (Native Development Kit). Dans le 2ème cas, Android NDK doit être téléchargé et installé de
manière indépendante du Android SDK.

1.6. Gestionnaire du Android SDK (SDK Manager)


Après avoir bien défini le chemin d’accès du SDK de Android, les développeurs peuvent gérer les paquets
fournis dans le SDK en utilisant le SDK Manager. Ce dernier permet d'installer, de désinstaller ou de mettre à
jour un paquet ou une version de Android. Pour ce faire, il faut cliquer sur l’icône de SDK Manager ou
aller à : Tools → Android → SDK Manager.

En effet, pour télécharger un paquet dans SDK Manager, il faut le sélectionner en cochant sur la case qui le
correspond, puis cliquer sur « Installer » pour installer ces paquets. Par défaut, SDK Manager propose de
mettre à jour un paquet si ce dernier devrait l’être.

© Dr. A.-C. Chaouche Page 5 à 14


Développement d’Applications Mobiles (DAM) 2018-2019 – Semestre 1 Université Constantine 2

Voici les principaux paquets qui sont offerts par Android SDK :
SDK tools, est l’outil nécessaire pour exécuter Android SDK, incluant les outils pour le
développement Android.
SDK build-tools est l’outil nécessaire pour la construction des applications Android.
SDK platform-tools, est utilisé pour prendre en charge les fonctionnalités de la plateforme Android
actuelle incluant l’outil adb (android debugging bridge) qui agit comme un pont pour communiquer
avec un émulateur ou un appareil mobile.
SDK platforms correspond aux différentes plateformes (versions) d’Android. Une plateforme, au
moins, doit être installée pour exécuter des applications Android, généralement c’est la dernière
version qui doit être installée.
System Image correspond aux images disque des émulateurs, qui serviront comme support de test
pour exécuter des applications Android.
Samples fournit quelques exemples de codes pour en savoir plus sur le développement Android.

2. Projet Android
Maintenant que la configuration de Android Studio est terminée, vous pouvez créer votre premier projet.
2.1. Création d’un nouveau projet Android
Dans Android Studio, pour créer un nouveau projet Android, il faut :
1) Cliquer sur : File → New → New Project…
2) Remplir les champs concernant le nom de l’application :
Application Name : LearnApp
Compagny Domain : iam.sci, ce qui donnera comme nom de package sci.iam.learnapp
Project location : D:\android\projects
3) Cocher "Phone and Tablet" et spécifier les plateformes Android avec lequel l'application sera compatible.

4) Android Studio propose plusieurs modèles prédéfinis, où il génèrera toutes les classes et les ressources
nécessaires à la création d’un écran graphique, qui est appelé "Activité". Pour notre projet, créer un écran
vide grâce à l'option "Empty Activity", car c'est mieux de commencer de zéro.
5) Enfin, il faut remplir les champs concernant le nom de l’activité comme suit :
Activity Name : LoginActivity qui est le nom de la classe qui étendra Activity. Il doit respecter la
convention de nommage CamelCase (Chaque mot doit commencer par une majuscule et le reste en
miniscules) suffixée par le type du contrôleur (Activity, Fragment ou View).
Layout Name : activity_login, qui est le nom de la vue associée à l'écran sous la forme d'un fichier
XML. La convention impose que ce nom soit en snake_case (tout en miniscules et séparé avec
des underscore) préfixé par le type du contrôleur.
Maintenant, le projet est créé avec une activité d’authentification vierge.

© Dr. A.-C. Chaouche Page 6 à 14


Développement d’Applications Mobiles (DAM) 2018-2019 – Semestre 1 Université Constantine 2

2.2. Structure d’un projet Android


Un projet Android possède une structure semblable à MVC, en séparant la vue du contrôle. Cette structure
permet d’organiser le projet en 3 couches : présentation, logique et données. La figure suivante schématise
cette organisation :

Un projet sous Android Studio est souvent composé de plusieurs modules, où chaque module peut être une
application à part entière ou une bibliothèque. Le premier module est nommé app par convention, contenant
toutes les sources de l'application Android organisées dans des sous-dossiers :
manifests : comporte essentiellement AndroidManifest.xml qui décrit la configuration de
l'application (titre, logo, ...).
java : regroupe les sources Java de l’application organisées dans des packages (classes, interfaces,
activités, …).
res : contient toutes les ressources que l'on utilise dans l’application (vues, images, couleurs, …).
Tous ces composants seront décrits et détaillés dans le chapitre 5.

© Dr. A.-C. Chaouche Page 7 à 14


Développement d’Applications Mobiles (DAM) 2018-2019 – Semestre 1 Université Constantine 2

Manifest

Fichiers java

Ressources organisées
(texte, …)

Gradle

Gradle
Comme Ant et Maven, Gradle est un gestionnaire puissant de dépendances vu comme un moteur entier de
production, permettant la construction du projet. Android Studio crée un script gradle (écrit en langage
"Groovy") pour chaque module (par exemple, build.gradle (Module:app) pour le module app) ainsi qu’un
script pour le projet entier (build.gradle (Project:LearnApp)) [3]. Dans le build.gradle de l’application,
on définit la version du SDK utilisée pour la compilation, la version minimale du SDK nécessaire pour faire
tourner l’application, la version et l’identifiant de l’application, etc.
2.3. Processus de développement d'une application
Pour générer et exécuter une application Android sur un appareil, il faut passer par les étapes
successives suivantes [4] :

Compilation du code source


Un projet Android contient des sources Java, des ressources compilables (layout, string & color xmls,
Manifest.xml), ainsi que des ressources non compilables, telles que les images PNG. Android commence par
la compilation de fichiers de ressources compilables en utilisant l’outil aapt, puis le compilateur de Java
javac compile tous les fichiers java du projet et génère les fichiers .class correspondants. Ensuite, l'outil
dex convertit tous les fichiers .class en fichier .dex (Dalvik executable), qui est le bytecode compris par
la machine virtuelle Dalvik.

Archivage (Packaging)
Toutes les ressources compilées et non compilées ainsi que les fichiers .dex sont rassemblés dans un fichier
archive .apk (Android package) par l’outil apkbuilder. Ce fichier, nommé généralement project-
debug.apk, n’est pas signé et ainsi ne pouvant être lancé qu’en mode Debug.

Signature
Pour être déployées et publiées, les applications doivent être signées par l'outil jarsigner qui permet de signer
le fichier .apk avec une clé. Ensuite, l'outil zipalign aligne les fichiers dans l’archive.apk afin de diminuer

© Dr. A.-C. Chaouche Page 8 à 14


Développement d’Applications Mobiles (DAM) 2018-2019 – Semestre 1 Université Constantine 2

l'utilisation de la mémoire lorsque l'application est exécutée sur un périphérique. Le fichier résultant s’appelle
project-release.apk.

Exécution
Désormais l’application peut être installée et exécutée sur n’importe quel périphérique. En effet, le déploiement
de l'application peut se faire sur un périphérique Android physique ou un émulateur, où les fichiers .dex sont
exécutés via la VM Dalvik. Ainsi, en comparant une application Android à une application Java classique, un
fichier .apk est vu comme un fichier .jar, les fichiers .dex comme des fichiers .class et la VM Dalvik
comme la JVM.

3. Exécution de l’application
L’application Android peut être exécutée sur un périphérique Android physique ou sur un périphérique
Android virtuel appelé émulateur :

© Dr. A.-C. Chaouche Page 9 à 14


Développement d’Applications Mobiles (DAM) 2018-2019 – Semestre 1 Université Constantine 2

3.1. Exécution sur un appareil virtuel (émulateur)


Les émulateurs Android permettent de profiter des applications Android directement sur son PC. En effet, ils
simulent divers appareils Android tels qu’un smartphone, une tablette, Android Wear ou Android TV. Ils sont
livrés souvent avec des configurations prédéfinies pour les types d'appareils populaires et peuvent transférer
des données plus rapidement qu'un périphérique physique connecté via USB. Dans notre contexte, un
émulateur permet de faciliter le développement et le débogage d'une application dans un système Android de
la même manière que le système imité.

Emulation vs. Simulation


L'émulation est une imitation du comportement physique d'un matériel par un logiciel, tandis que la
simulation, est une imitation d’un modèle abstrait.

Emulateurs fournis par le SDK de Android


L'émulateur Android fournit presque toutes les fonctionnalités d'un véritable appareil Android. Vous pouvez
simuler les appels téléphoniques entrants et les messages texte, spécifier l'emplacement du périphérique,
simuler différentes vitesses de réseau, simuler la rotation et d'autres capteurs matériels.

Sous Android Studio, pour créer un nouvel émulateur fourni par, il faut :
1) Ouvrir le gestionnaire AVD en cliquant sur l’icône dans la barre d'outils ou allant au menu : Window
→ Android Virtual Device Manager,
2) Définir un nouveau périphérique virtuel Android (AVD pour Android Virtual Device) en appuyant sur le
bouton "New",
3) Choisir la configuration souhaitée pour le périphérique virtuel,
4) Enfin, appuyer sur le bouton "OK", pour créer le périphérique virtuel et afficher la configuration AVD
dans la liste des périphériques virtuels disponibles.
Lorsqu’on parle d‘émulateur Android, on pense aux images ARM fournies par Google. Cependant, cette
architecture n’est pas très adaptée au développement Android en terme de permformance. La situation s’est
bien améliorée ces dernières années avec Intel qui propose désormais des images optimisées pour ses
processeurs.

L’émulateur NOX App Player v6.2.2.0 (6 août 2018)


Nox App Player [5] est émulateur, développé par Nox Digital Entertainment Co.,
initialement prévu pour faire tourner des jeux Android sur PC. Etant une option de
fonctionnalités très simple et minimal, Nox est un émulateur gratuit très prometteur
par sa fluidité, sa fiabilité, et sa vitesse d'exécution des applications. Il est basé
essentiellement sur Android 4.4.2 et compatible avec l’architecture X86/AMD. Voici
le lien de son téléchargement :
http://fr.bignox.com

L’émulateur Genymotion v2.12.1 (9 mai 2018)


Genymobile est une startup française fondée en 2011 développant du support autour d'Android. En juin 2013,
elle développe un émulateur Android appelé Genymotion [6] basé sur l’outil de virtualisation Oracle VM
VirtualBox.
En effet, Genymotion supporte la majorité des version d’Android en étant plus performant que les émulateurs
fournis par Google et ses partenaires. Il est spécialement conçu pour les développeurs en termes d'utilisation

© Dr. A.-C. Chaouche Page 10 à 14


Développement d’Applications Mobiles (DAM) 2018-2019 – Semestre 1 Université Constantine 2

d'une quantité d'outils de développement. De plus, il est possible d’exécuter plusieurs instances de la même
application.
En 2016, avec son outil Genymotion Cloud, Genymotion est devenu l’un des premiers émulateurs cloud
Android permettant de déployer Android sur des machines virtuelles dans le cloud, il est ainsi possible d’y
accéder depuis n’importe quel navigateur. Cette solution modifie la chaîne de développement des apps Android
en facilitant le travail des développeurs et en améliorant l’expérience des utilisateurs.
Genymotion est payant, mais il est possible de télécharger une version gratuite qui ne contient pas un bon
nombre des fonctionnalités qui sont nécessaires aux développeurs. Actuellement, il est employé par plus de 5
millions de développeurs Android. Voici le lien de téléchargement de la version gratuite :
https://www.genymotion.com
Voici les prérequis de l’installation et de l’utilisation de Genymotion 2.12.1 :
OS : Microsoft Windows 7, 8 ou 10 (32/64 bit)
Processeur : 64 bit, avec la capacité VT-x (ou AMD-V), à active dans le BIOS
RAM : 2 Go
Espace disque : 400 Mo

Note
Il existe d’autres émulateurs tels que Bluestacks, Remix OS Player, et Droid4X.

3.2. Exécution sur un appareil mobile physique


La majorité des appareils mobiles (smartphones, tablettes, …) sont bien plus que de simples outils pour
communiquer ou naviguer sur internet. Ils ont des capacités sensorielles, matérialisées par leurs capteurs. Ces
capteurs fournissent des informations brutes avec une grande précision, tels que l’accéléromètre, le gyroscope,
la caméra, le GPS, etc. Ces informations physique ne peuvent pas être émulées, car elles sont issues des
composants matériels qui sont intégrés dans l’appareil.
Voici les caractéristiques d’un appareil mobile physique :
Un processeur à puissance limitée
Une RAM et des capacités de stockage limitées
Un écran avec une résolution fixe
Des coûts élevés de transfert de données
Une batterie à autonomie limitée
Afin d’exécuter une application sur un appareil Android physique il faut, d’une part, que le PC reconnaisse
l’appareil Android en installant le driver correspondant et d’autre part, que l’appareil Android autorise
l’installation et le débogage de l’application qui provinet du PC. Voici les étapes à suivre :

Etape 1 : Installer le driver de l’appareil sur le PC


1) Aller à : http://developer.android.com/tools/extras/oem-usb.html#Drivers
2) Choisir le constructeur de l’appareil et cliquer sur le lien correspondant
3) Suivre les instructions pour installer le driver approprié

© Dr. A.-C. Chaouche Page 11 à 14


Développement d’Applications Mobiles (DAM) 2018-2019 – Semestre 1 Université Constantine 2

Par exemple, pour intaller le driver du smartphone Samusng Galaxy S8, il faut suivre les étapes suivants :
1) Aller au site official de Samsung : http://www.samsung.com/us/support/downloads
2) Choisir le modèle de l’appareil (Samsung Galaxy S8) puis cliquer sur "Get Downloads",
3) Cliquer sur Downloads → USB (Driver) ver.x.x.xx.x → Download (EXE),
4) Installer le driver ensuite redémarrer le PC (souvent c’est necessaire).

Etape 2 : Activer le débogage USB dans l’appareil Android

x7

1) Aller à : Paramètres → À propos du téléphone


2) Cliquer 7 fois sur "Version du noyau",
3) L’option "Options pour les développeurs" apparaît dans le menu "Paramètres", cliquer dessus.
4) Activer le débogage USB puis confirmer en cliquant sur "OK"
5) Dès que l’appareil est connecté au PC, une boite de dialogue vous demande d’autoriser ce PC à installer
des applications sur l’appareil Android, cocher sur "Toujours autoriser ce PC" puis cliquer sur "OK".

© Dr. A.-C. Chaouche Page 12 à 14


Développement d’Applications Mobiles (DAM) 2018-2019 – Semestre 1 Université Constantine 2

Débogage sans-fil
Sous Android Studio, il est possible d’exécuter une application sur un appareil via le Wi-Fi (sans utiliser
un câble USB pour relier l’appareil au PC). Voici les étapes à suivre :
1) Installer le plugin "ADB WIFI" [7] :
Aller à : File → Settings → Plugins → Browse repositories
Rechercher ADB WIFI, puis cliquer sur "Installer"
2) Connecter l’appareil au PC par câble USB (pour la première fois seulement)
3) Connecter l’appareil et le PC au même réseau Wi-Fi
4) Activer le plugin ADB WIFI :
Cliquer sur Tools → Android → ADB WIFI → ADB USB to WIFI

3.3. Types d’applications sous Android


Sous Android, il existe 3 types d’applications :

Applications de premier plan


Elles sont utilisées souvent pour intéragir avec l’utilisateur. Lorsqu’une application de premier plan n’est pas
visible, elle est mise en pause. Par exemple : les jeux, les applications de cartes géographiques, …

Applications d’arrière-plan
Ce type d’application se base sur des services exécutés en arrieère-plan. L’interaction avec l’application est
limitée en dehors de sa configuration. Par exemple : Alarme, Filtrage d’appels, réponse automatique aux SMS,
Economiseur d’énergie, ...

Widgets
Ce sont des composants visuels interactif que l’utilisateur peut ajouter à son écran d’accueil. Par exemple :
Horloge, prévisions météo, …

4. Travail pratique (TP0) : Exécution de l'application


Maintenant, pour lancer l'exécution de l’application, il faut :
1) Cliquer sur l’icône de la barre d'outils,

2) Sélectionner l’appareil d’exécution dans la fenêtre qui apparaît, et cliquer sur


"OK"

3) L’application est installée dans l’appareil puis lancée.

© Dr. A.-C. Chaouche Page 13 à 14


Développement d’Applications Mobiles (DAM) 2018-2019 – Semestre 1 Université Constantine 2

Liens utiles
Les étudiants peuvent consulter ces références pour approfondir leurs connaissances dans ce cours :
Configuration avec Gradle : https://rominirani.com/gradle-tutorial-part-6-android-studio-gradle-c828c5639bb
Processus de développement : https://github.com/dogriffiths/HeadFirstAndroid/wiki/How-Android-
Apps-are-Built-and-Run
Top 5 des émulateurs Android : http://appinformers.com/android-emulators-pc/13028/

Références

[1] «Installing the Eclipse Plugin,» Massachusetts Institute of Technology, 2017. [En ligne]. Available:
https://stuff.mit.edu/afs/sipb/project/android/docs/sdk/installing/installing-adt.html.
[2] developer.android.com, «Android Studio - The Official IDE for Android,» Septembre 2017. [En ligne].
Available: https://developer.android.com/studio/index.html.
[3] R. Dima, «Tutoriel Android sous Android Studio,» 6 Février 2017. [En ligne]. Available:
https://hal.archives-ouvertes.fr/cel-01241650v2/document.
[4] D. Griffiths, «How Android Apps are Built and Run,» 28 Janvier 2017. [En ligne]. Available:
https://github.com/dogriffiths/HeadFirstAndroid/wiki/How-Android-Apps-are-Built-and-Run.
[5] Nox Digital Entertainment Co., «L'émulateur Android parfait pour jouer aux jeux mobiles sur PC,»
2017. [En ligne]. Available: https://fr.bignox.com/.
[6] Genymobile, «Make better apps : Over 3000 Android configurations,» 2016. [En ligne]. Available:
https://www.genymotion.com/.
[7] S. Wichai, «ADB WIFI : Android Studio plugin for debug android app over Wi-Fi,» 6 Mai 2016. [En
ligne]. Available: https://plugins.jetbrains.com/plugin/7856-adb-wifi.

© Dr. A.-C. Chaouche Page 14 à 14