Introduction
En 2012, la mobilité avec Android est plus que jamais autour de nous : smartphones, tablettes Android. Une voie technologique à explorer impérativement pour ne pas louper le coche. Mais avant de se jeter à bras le corps dans le développement d’applications mobiles Android avec Eclipse, il est très pertinent de comprendre et maîtriser, loin s’en faut, l’architecture de Google Android SDK au cours de son installation.
Le développement d’applications mobiles Android SDK n’est donc pas abordé ici, en revanche, l’installation pas à pas des outils et packages Android SDK dans un environnement Windows est décortiquée avec le souci de comprendre la plateforme et l’architecture d’Android SDK. Maîtriser l’agencement de Google Android SDK est le premier pas indispensable dans la montée en puissance vers la mobilité.
Au cours de cette installation pas à pas, divers sujets sont abordés : utilisation d’Android SDK Manager, installation des packages Android 2.3.3 et 4.1, installation d’add-ons comme Google APIs qui intègre Google Maps, installation de packages complémentaires comme Android Support Library (bibliothèque qui garantit les compatibilités ascendantes), Google Analytics ou encore Google AdSense pour mobiles.
Comment et où sont installés ces composants ? Quelles différences entre les images Android 1.x, 2.x, 3.x et 4.x ? Quels sont les packages à ne pas oublier d’installer comme par exemple Android Support Library ou ARM EABI v7a System Image pour Android 4.1 et pourquoi ? En toute modestie, cet article tente d’y répondre.
Les installations des plateformes Android et de Google Android SDK constituent la première étape du développement d’une application Android :
Préparation de l’environnement
Environnement Windows
Les développements Android seront réalisés sur une plateforme Windows XP SP3 32 bits. Un répertoire C:\software\android est créé pour accueillir les outils nécessaires et le SDK Android.
mkdir C:\software\android
La variable d’environnement Windows %ANDROID_HOME%
qui pointe
sur ce répertoire est créée. Elle peut être créée en mode graphique ou avec
regedit en ligne de commandes, pour cette dernière option une réouverture de
session est nécessaire.
C:\> reg add "HKLM\System\CurrentControlSet\Control\Session Manager\Environment"
/v ANDROID_HOME /d "C:\Software\android" /t REG_SZ
Installation de Java JDK JRE 7 (update 6), étape obligatoire si non installé
Java JDK (Java Developer’s Kit) et JRE (Java Runtime Environment) sont indispensables dans l’environnement de développement Android avec Eclipse. L’installation de Java JDK/JRE n’est pas à faire si ces composants sont déjà installés, ce qui n’est pas le cas dans ce tutoriel.
La version 1.7 de Java JDK (update 6), version mature, est sélectionnée. Les téléchargements de Java JDK sont disponibles à l’adresse suivante : http://www.oracle.com/technetwork/java/javase/downloads/index.html.
L’exécutable d’installation est téléchargé (jdk-7u6-windows-i586.exe
pour la
version 1.7 update 6) et lors de la configuration de l’installation :
- Java JDK 1.7 est installé dans le répertoire
C:\Software\java\jdk-1.7
. Ainsi l’installation n’est pas réalisée dans le répertoire par défautC:\Program Files\...
, répertoire système Windows et qui comporte un espace, espace pénible à gérer en mode batch. - L’installation de la machine JRE 1.7 (Java RunTime Environment) est réalisée dans le répertoire
C:\Software\java\jre-1.7
pour les mêmes raisons que précédemment.
La variable d’environnement Windows %JAVA_HOME%
qui pointe sur
le répertoire d’installation du JDK Java 1.7 est créée. Elle peut être créée en
mode graphique ou avec regedit en ligne de commandes, pour cette dernière
option une réouverture de session est nécessaire.
C:\> reg add "HKLM\System\CurrentControlSet\Control\Session Manager\Environment" /v JAVA_HOME /d "C:\Software\java\jdk-1.7" /t REG_SZ
Cette variable %JAVA_HOME%
sera particulièrement pratique lors
des développements en mode batch.
Installation des outils Android SDK (Android SDK Tools)
Avant de pouvoir télécharger les packages Java Android SDK (Android 4.1, Android 2.3.3, etc.), les outils nécessaires à la gestion des packages et aux supports virtuels Android doivent être d’abord installés.
Installation des outils Android SDK
Ces outils sont livrés dans le programme d’installation "Google Android Tools" disponible à l’adresse suivante : http://developer.android.com/sdk/index.html. Il s’agit d’un exécutable MSI d’installation et la version 20.0.3 de Google Android Tools est installée lors de la rédaction de cet article (août 2012). Exécuter le programme d’installation après téléchargement :
D:\> installer_r20.0.3-windows.exe
Le programme d’installation vérifie immédiatement la disponibilité de Java
JDK sur la plateforme. Si Java JDK n’est pas détecté par le programme, vérifier
les variables %JAVA_HOME%
et la configuration de Java JDK sur le
système.
Le programme d’installation propose ensuite le chemin d’installation des
outils Android SDK : dans cet article, ces outils sont installés dans
%ANDROID_HOME%\android-sdk
La variable d’environnement %ANDROID_SDK%
pointant sur le répertoire %ANDROID_HOME%\android-sdk
est créée pour simplifier les futurs scripts DOS en mode batch :
%ANDROID_SDK%=%ANDROID_HOME%\android-sdk
Présentation sommaire des outils Android SDK
Les outils Android SDK sont installés dans le répertoire
%ANDROID_HOME%\android-sdk\tools
. Ils sont nombreux et en voici une liste
exhaustive par ordre d’importance :
- Android SDK Manager : gestionnaire graphique des packages Android. Cet utilitaire sera utilisé par la suite pour descendre les images Android 2.3.3, Android 4.1…
- AVD (Android Virtual Device) : gestionnaire graphique qui permet de configurer des supports mobiles (taille des SD Cards, RAM, résolution, etc.), configuration qui est utilisée par les émulateurs Android sous Windows.
android
: programme DOS appelant Java en lignes de commandes pour créér et mettre à jour des projets Android ainsi que créér, déplacer ou supprimer des supports mobiles AVD (Android Virtual Device).- APKBuilder : programme DOS appelant java en lignes de commandes pour la compilation et le packaging des applications Android (.apk), étape incontournable en vue du déploiement et de la publication sur les appareils mobiles.
- Emulateurs Android pour Windows : émulateurs pour faire tourner des applications Android sur un support mobile AVD.
- ddms (Dalvik Debug Monitor Server) : exécutable pour le débogage des applications Android.
- SQLite : base de données mobile sqlite 3.
- …
Pour retrouver la liste de tous les outils installés : Android SDK Developers : Android SDK Tools
Contrairement aux versions précédentes, l’utilitaire serveur adb
(Android
Debug Bridge) n’est plus installé avec les outils Android SDK, il est désormais
installé lors de la descente des packages Android. adb
est un démon client
serveur utilisant le protocole TCP (port par défaut 5037) et qui réalise le
pont entre le client et l’émulateur.
Pour plus de souplesse dans l’appel de ces outils en mode batch, la variable %ANDROID_TOOLS%
pointant sur le répertoire %ANDROID_SDK%\tools
est créée :
%ANDROID_TOOLS%=%ANDROID_SDK%\tools
Configuration et installation des packages Android SDK
L’installation des packages Android 2.3.3, Android 4.1, etc. peut à présent démarrer en lançant l’utilitaire Android SDK Manager installé précédemment avec Android SDK Tools.
C:\> "%ANDROID_HOME%\android-sdk\SDK Manager"
Configuration des packages
L’utilitaire Android SDK Manager est une version graphique très intuitive, elle propose les plateformes Android (2, 3, 4…) par niveaux d’API. Pour l’histoire, voici grossièrement les fonctionnalités par niveaux de version majeure :
Android 2.x | Smartphones Android |
Android 3.x | Tablettes Android |
Android 4.x | Fusion des API 2.x et 3.x : smartphones et tablettes Android |
Voici la liste des packages sélectionnés avec en surbrillance jaune les packages obligatoires pour bien démarrer:
Catégorie | Sous catégorie | Description |
---|---|---|
Tools | Android SDK Platform-tools | Ce package doit être installé à la première installation, il intègre notamment ADB (Android Debug Bridge) |
Android 4.1 | SDK Platform | Package du SDK Android 4.1 |
Samples for SDK | Exemples du SDK Android 4.1 | |
ARM EABI v7a System Image | Depuis les versions 4 d’Android, l’image système d’Android pour les architectures core ARM n’est plus fournie en standard dans le SDK pour prendre en compte la diversification technologique des types de core sur les appareils mobiles (ARM, X86…). Ce package doit être installé pour pouvoir faire fonctionner l’émulateur Android 4. Si ce package est omis, il peut être réinstallé ultérieurement toujours avec l’utilitaire Android SDK Manager et l’émulateur Android 4 sera paramétré avec AVD. | |
Google APIs | Add-on Google contenant notamment l’extension Google Maps. | |
Android 2.3.3 | SDK Platform | Package du SDK Android 2.3.3 |
Samples for SDK | Exemples du SDK Android 2.3.3 | |
Google APIs | Add-on Google contenant notamment l’extension Google Maps. | |
Extras | Android Support Library | Package indispensable pour développer des applications Android avec pré-requis de versions minimales Android (compatibilités ascendantes). |
Installation des packages
Cliquer sur le bouton "Install packages" pour démarrer l’installation des packages. Certains packages sont livrés avec une licence à accepter (Google APIs…) et ne seront installés que si l’option "Accept All" est cochée avant de cliquer sur le bouton "Install" :
Une fenêtre de log (Android SDK Manager Log) affiche l’évolution de
l’installation qui peut prendre plusieurs minutes en fonction des packages
sélectionnés. L’installation est réussie dès le message final "Done loading packages."
dans cette fenêtre :
...
Done loading packages.
Preparing to install archives
Downloading Android SDK Platform-tools, revision 14
Installing Android SDK Platform-tools, revision 14
Stopping ADB server failed (code -1).
Installed Android SDK Platform-tools, revision 14
Downloading SDK Platform Android 4.1, API 16, revision 2
Installing SDK Platform Android 4.1, API 16, revision 2
Installed SDK Platform Android 4.1, API 16, revision 2
Downloading SDK Platform Android 2.3.3, API 10, revision 2
Installing SDK Platform Android 2.3.3, API 10, revision 2
Installed SDK Platform Android 2.3.3, API 10, revision 2
Downloading Samples for SDK API 16, revision 1
Installing Samples for SDK API 16, revision 1
Installed Samples for SDK API 16, revision 1
Downloading Samples for SDK API 10, revision 1
Installing Samples for SDK API 10, revision 1
Installed Samples for SDK API 10, revision 1
Downloading Android Support Library, revision 10
Installing Android Support Library, revision 10
Installed Android Support Library, revision 10
Downloading Google USB Driver, revision 6
Installing Google USB Driver, revision 6
Installed Google USB Driver, revision 6
Downloading ARM EABI v7a System Image, Android API 16, revision 2
Installing ARM EABI v7a System Image, Android API 16, revision 2
Installed ARM EABI v7a System Image, Android API 16, revision 2
Downloading Google APIs, Android API 16, revision 2
Installing Google APIs, Android API 16, revision 2
Installed Google APIs, Android API 16, revision 2
Downloading Google APIs, Android API 10, revision 2
Installing Google APIs, Android API 10, revision 2
Installed Google APIs, Android API 10, revision 2
Updated ADB to support the USB devices declared in the SDK add-ons.
Stopping ADB server succeeded.
Starting ADB server succeeded.
Done. 10 packages installed.
Done loading packages.
Quelques remarques au cours de l’installation :
- Au cours de l’installation des packages, le message d’erreur
"Stopping ADB server failed (-1)."
apparaît dans la console de log : cette erreur est sans incidence, l’installation tente en effet d’arrêter le serveur de debug ADB qui n’est pas démarrré puisqu’il s’agit d’une première installation. L’arrêt de ce serveur est indispensable dans le cas de l’installation ou la mise à jour de packages. - En fonction du débit internet ou d’éventuelles perturbations sur le site Google hébergeant les packages, le téléchargement peut échouer pour certains packages : ce n’est pas problématique, il suffit dans ce cas de retenter l’installation du ou des packages en échec.
L’installation réalisée ici consomme 880 Mb alors que celle-ci est la plus minimale possible (documentations, code source écartés de l’installation).
Structure de l’installation des packages
La structure de l’installation des packages est assez simple à appréhender
bien qu’elle différe quelque peu entre Android 1.x/2.x/3.x et Android 4.x au
sujet de l’installation des images systèmes. Dans les tableaux qui suivent
%ANDROID_HOME_SDK%
correspond au répertoire d’installation
d’Android SDK (%ANDROID_HOME%
\android-sdk)
Grossièrement, l’architecture de l’installation est la suivante :
Package | Répertoire d’installation |
---|---|
Android SDK Platform-tools ADB (Android Debug Bridge) | %ANDROID_HOME_SDK%\platform-tools |
Android x.ys (API Level z) | %ANDROID_HOME_SDK%\platforms\android-z |
Exemples Android x.y (API Level z) | %ANDROID_HOME_SDK%\samples\android-z
Exception : Pour les versions Android 1.6 et 1.5 (API level 4 et 3),
les exemples sont installés dans
%ANDROID_HOME_SDK%\platforms\android-1.w\samples |
Add-on Android x.y (API Level z) Google APIs, etc. | %ANDROID_HOME_SDK%\add-ons\addon-<libelle>-z |
Concrètement, dans le contexte de cette installation : Android 2.3.3 (API Level 10) et Android 4.1 (API Level 16)
Package | Répertoire d’installation |
---|---|
Android SDK Platform-tools ADB (Android Debug Bridge) | %ANDROID_HOME_SDK%\platform-tools |
Android 4.1 (API Level 16) | %ANDROID_HOME_SDK%\platforms\android-16 |
Android 2.3.3 (API Level 10) | %ANDROID_HOME_SDK%\platforms\android-10
|
Google APIs pour Android 4.1 (API Level 16) | %ANDROID_HOME_SDK%\add-ons\addon-google_apis-google-16
|
Google APIs pour Android 2.3.3 (API Level 10) | %ANDROID_HOME_SDK%\add-ons\addon-google_apis-google-10
|
Exemples Google Android 4.1 (API Level 16) | %ANDROID_HOME_SDK%\samples\android-16 |
Exemples Google Android 2.3.3 (API Level 10) | %ANDROID_HOME_SDK%\samples\android-10
|
Images systèmes, différences entre Android 1.x/2.x/3.x et 4.x
Historiquement, les images systèmes (system.img
) d’Android 1.x, 2.x et 3.x
utilisées par l’émulateur sont installées dans le répertoire
%ANDROID_HOME_SDK%\platforms\android-<api-level>\images
et
ces images sont de plus en plus volumineuses avec les versions.
Package | Répertoire d’installation | Taille (Mb) |
---|---|---|
Android 1.6 (API Level 4) | %ANDROID_HOME_SDK%\platforms\android-4 |
62 |
Android 2.3.3 (API Level 10) | %ANDROID_HOME_SDK%\platforms\android-10 |
91 |
Android 3.2 (API Level 13) | %ANDROID_HOME_SDK%\platforms\android-13 |
117 |
À partir de la version 4.0, les images systèmes sont désormais installées
dans le répertoire
%ANDROID_HOME_SDK%\system-images\android-<api-level>
et le
type d’architecture des cores des supports mobiles (ARM, Intel X86…) est
intégré dans la nomenclature du répertoire d’installation des images. Cette
évolution prend en compte la diversification des types de cores sur les
appareils mobiles qui jusqu’aux versions 3 incluses tournaient essentiellement
avec une architecture core ARM.
Package | Répertoire d’installation | Taille (Mb) |
---|---|---|
Android 4.0.3 (API Level 15 - ARM v7a) | %ANDROID_HOME_SDK%\system-images\android-15\armeabi-v7a |
170 |
Android 4.0.3 (API Level 15 - Intel X86 Atom) | %ANDROID_HOME_SDK%\system-images\android-15\x86 |
219 |
Android 4.1 (API Level 16 - ARM v7a) | %ANDROID_HOME_SDK%\system-images\android-16\armeabi-v7a |
201 |
Packages complémentaires ou extras (Android Support Library, Google Analytics…)
Les packages complémentaires (Android Support Library, Google Ad Mobs SDK,
Google Analytics SDK…) sont installés dans le répertoire
%ANDROID_HOME_SDK%\extras
Package Extra | Répertoire d’installation |
---|---|
Google AdSense pour mobiles SDK (Google AdMob Ads SDK) | %ANDROID_HOME_SDK%\extras\google\admob_ads_sdk |
Google Analytics SDK pour mobile (Google Analytics SDK) | %ANDROID_HOME_SDK%\extras\google\analytics_sdk |
À propos du package Android Support Library, package indispensable pour
certifier une version minimale d’Android lors des développements d’applications
mobiles, l’installation est également réalisée dans le répertoire
%ANDROID_HOME_SDK\extras
et avec des sous-répertoires
correspondant aux versions majeures stables des APIs Android :
Package Extra | Répertoire d’installation | Description |
---|---|---|
Android Support Library | %ANDROID_HOME_SDK%\extras\android\support\v4 |
Android 1.6 minimum (API Level 4) |
%ANDROID_HOME_SDK%\extras\android\support\v7 |
Android 2.1 minimum (API Level 7) | |
%ANDROID_HOME_SDK%\extras\android\support\v13 |
Android 3.2 minimum (API Level 13) |
Conclusion
Il serait facile de cliquer au cours de l’installation sur NextNext Finish. Mieux comprendre ce qui est installé ainsi que l’architecture et l’agencement de Google Android SDK éviteront bien des tracas par la suite.
Par exemple, si le package complémentaire "Android Support Library" est oublié : il est impossible de définir avec Eclipse la version minimale d’Android lors du développement d’applications. Si le package "ARM EABI v7a System Image" avec Android 4.1 n’est pas installé : l’émulateur Android 4 ne peut être lancé.