Google Android SDK - Intégration dans Eclipse (plugin ADT)

Introduction

Dans ce tutoriel, la plateforme Google Android SDK (version 20.0.3) et les émulateurs Android 2.3.3 et Android 4 avec Android AVD (Android Virtual Device Manager) sont installés et paramétrés dans un environnement Windows.

Avant de démarrer le développement d'applications mobiles Android, l'étape ultime consiste à intégrer et paramétrer Android SDK dans la plateforme de développement Eclipse pour Java grâce au plugin ADT (Android Development Tools) pour Eclipse.

Dans cette installation, le plugin Android ADT est délocalisé dans un répertoire spécifique afin d'offrir plus de souplesse dans la gestion des versions de ce plugin au sein de l'environnement de développement Eclipse. L'objectif consiste à basculer d'une version de ce plugin à une autre le plus efficacement possible sans devoir toucher à l'intégrité de l'environnement de développement Eclipse. Cette méthodologie offre également la possibilité de partager ce plugin par plusieurs distributions d'éclipse.

Le paramétrage d'Android SDK dans Eclipse est ensuite abordé avec la mise en route sommaire d'un premier projet Android dans Eclipse.

L'intégration de plugin Android ADT dans Eclipse est la dernière pierre angulaire de l'installation de l'environnement technique pour Android avant de s'engager dans le vif du sujet, à savoir le développement des applications Android pour Smartphones ou tablettes :

Cycle de vie d'une application Android, intégration de Google Android SDK dans Eclipse

Environnement Android SDK et Java (pré-requis)

Avant de paramétrer Eclipse avec Android, la plateforme de développement doit déjà inclure :

  • Android SDK
  • Java

Environnement Android SDK

Les variables d'environnement Windows ci-dessous sont définies pour la plateforme Android SDK :

Variable Description
%ANDROID_HOME% Répertoire racine
%ANDROID_AVD% Répertoire d'installation des supports mobiles définis (%ANDROID_HOME%\avd)
%ANDROID_SDK% Répertoire d'installation de la plateforme Android SDK (%ANDROID_HOME%\android-sdk)
%ANDROID_TOOLS% Répertoire d'installation des outils de la plateforme Android SDK (%ANDROID_SDK%\tools), répertoire contenant notamment les programmes android, apkbuilder etc...

La plateforme Android SDK (version 20.0.3) est installée dans le répertoire %ANDROID_SDK% (C:\Software\android\android-sdk) avec les packages suivants :

  • Android 4.1 (API Level 16) : SDK et exemples
  • Android 2.3.3 (API Level 10) : SDK et exemples
  • Google APIs pour Android 4.1
  • Google APIs pour Android 2.3.3
  • Android Support Library

Pour plus d'informations sur l'installation et l'architecture de Google Android SDK : Google Android SDK - Installation de la plateforme de développement et architecture

Environnement Java

Java est indispensable pour Android SDK et Eclipse. La version 1.6 minimum de Java est requise pour les dernières versions d'Eclipse (3.7 et 4.2). Dans cet article, Java JDK 1.7 et Java JRE 1.7 (update 6) sont installés respectivement dans les répertoires ci-dessous :

Composant Répertoire
Java JDK 1.7 (Java Developer's Kit) C:\Software\java\jdk-1.7
Java JRE1.7 (Java Runtime Environment) C:\Software\java\jre-1.7

La variable d'environnement %JAVA_HOME% pointe sur le répertoire d'installation de Java JDK 1.7 (C:\Software\java\jdk-1.7).

Pour plus d'informations sur l'installation de Java : Google Android SDK - Installation de la plateforme de développement et architecture, installation de Java JDK JRE 7 (update 6)

Plateforme Eclipse (Enterprise Edition) pour le développement avec Android

Environnement Eclipse %ECLIPSE_ROOT%

Dans l'environnement de développement, plusieurs versions d'Eclipse coexisteront. La variable d'environnement Windows %ECLIPSE_ROOT% est créée à cet effet pour plus de souplesse en mode batch et correspond au répertoire racine des installations des distributions Eclipse. Cette variable 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 ECLIPSE_ROOT /d "C:\Software\eclipse" /t REG_SZ

La nomenclature adoptée pour l'installation des distributions Eclipse est la suivante :

Versions Répertoire d'installation
Standard ou classique %ECLIPSE_ROOT%\eclipse-<version>-std Exemple : %ECLIPSE_ROOT%\eclipse-3.7-std
Enterprise Edition %ECLIPSE_ROOT%\eclipse-<version>-ee Exemple : %ECLIPSE_ROOT%\eclipse-4.2-ee

Téléchargement et installation

L'outil de développement Eclipse est donc le plus adapté pour le développement d'applications Android. Les téléchargements sont disponibles à l'adresse suivante : http://www.eclipse.org/downloads

Téléchargement Eclipse

La version "Eclipse IDE for Java EE Developers" également appelée "Eclipse Enterprise Edition" est très fortement recommandée pour Android SDK. La version 4.2 d'Eclipse Enterprise Edition est la version stable lors de la mise en place de l'environnement de développement ici.

Télécharger l'archive zip (eclipse-jee-juno-win32.zip) et décompresser celle-ci dans le répertoire normalisé pour Eclipse %ECLIPSE_ROOT%

unzip eclipse-jee-juno-win32.zip -d %ECLIPSE_ROOT%

La distribution Eclipse 4.2 Enterprise Edition est alors installée dans le répertoire %ECLIPSE_ROOT%\eclipse (C:\Software\eclipse\eclipse) à l'issue de la décompression.

Le répertoire %ECLIPSE_ROOT%\eclipse est ensuite renommé pour respecter la norme évoquée plus haut :

move %ECLIPSE_ROOT%\eclipse %ECLIPSE_ROOT%\eclipse-4.2-ee

Dans la suite de cet article, la variable d'environnement %ECLIPSE_HOME% correspond au répertoire de la version courante d'Eclipse

%ECLIPSE_HOME%=%ECLIPSE_ROOT%\eclipse-4.2-ee

L'installation des versions d'Eclipse est autonome, indépendante du système (base de registres, path etc...). Pour lancer l'environnement Eclipse, lancer l'exécutable %ECLIPSE_HOME%\eclipse.exe

%ECLIPSE_HOME%\eclipse.exe

À l'issue de la première initialisation du produit, première initialisation toujours un peu longue, l'espace de travail de son choix (ou workspace) est défini. Ici l'espace de travail inclut également la norme évoquée plus haut (eclipse-<version>-[std | ee]).

Espace de travail Eclipse

Pourquoi la version Enterprise Edition ?

La version Eclipse Enterprise Edition est bien plus lourde que la version classique, alors pourquoi choisir la version Enterprise Edition ?

Eclipse vérifie les dépendances entre packages Java lors de l'installation des plugins pour détecter toute incompatibilité. Le plugin Android SDK ADT pour Eclipse présente notamment les dépendances suivantes avec les packages ci-dessous, la liste est exhaustive :

Packages
Eclipse Web Tools Platform (WTP) org.eclipse.wst.sse.core org.eclipse.wst.sse.ui org.eclipse.wst.xml.core ...
Eclipse Orbit (Apache XML Resolver Apache XML Xerces...) org.apache.xml.resolver org.apache.xml.serializer org.apache.xerces ...
... ...

La version d'Eclipse classique n'inclut pas par exemple les packages Eclipse WTP (Web Tools Platform) ou encore les packages Eclipse Orbit alors que c'est le cas pour la version Enterprise Edition.

Par la méthode de l'installation classique d'un plugin Eclipse :

  • Les plugins sont installés dans les répertoires par défaut : %ECLIPSE_HOME%\features et %ECLIPSE_HOME%\plugins
  • Tous les packages dépendants manquants sont alors téléchargés et installés dans ces répertoires par défaut.

Or l'installation du plugin Google ADT Android dans Eclipse ne va pas être réalisée ici par la méthode classique. Ce plugin est délocalisé dans son propre répertoire d'installation. Aussi, afin de ne pas se tirer les cheveux avec les packages requis et manquants et les dépendances entre packages pour la version classique, la version Enterprise Edition qui contient tous les packages nécessaires est choisie.

Installation du plugin ADT Android SDK dans Eclipse

Téléchargement du plugin Android ADT

Le plugin Android ADT pour Eclipse peut être téléchargé à partir de 2 sources différentes :

Les archives Android SDK ou ADT ne sont pas disponibles en téléchargement, la mise à jour est forcée. Par ailleurs, la version du plugin Google ADT doit être compatible avec la version d'Android SDK installée.

Quelle que soit la méthode de téléchargement du plugin ADT disponible le jour du téléchargement, pour vérifier la compatibilité du plugin Android ADT pour Eclipse avec la plateforme Android SDK déjà installée, consulter la page suivante : Developer Android.com : ADT Plugin - Revisions

Cette page donne des informations précieuses sur les niveaux de compatibilité entre le plugin ADT et la plateforme Android SDK :

Version de plugin ADT Version d'Android SDK requise
ADT 20.0.3 SDK Tools 20.0.3
ADT 20.0.2 SDK Tools 20.0.1
ADT 20.0.1 SDK Tools 20.0.1
... ...

Si la toute dernière version du plugin Android ADT proposé est incompatible avec la version d'Android SDK installée, il n'y a pas d'autre alternative que d'installer ou mettre à jour la plateforme Android SDK avec la version compatible.

Installation du plugin Android ADT par la méthode graphique classique

L'installation en mode graphique du plugin ADT dans Eclipse est abordée ici pour tutoriel, mais ce n'est pas la méthode adoptée. Le plugin ADT sera délocalisé dans un répertoire identifié afin de pouvoir être partagé par plusieurs versions d'Eclipse, méthode qui fait l'objet du paragraphe qui suit.

Installation graphique pas à pas du plugin Android ADT

Étape 1 : dans Eclipse, ouvrir le menu Help Install New Software

Eclipse - Help - Install New Software

Étape 2 : dans la fenêtre "Install", cliquer sur le bouton "Add..."

Eclipse - Help - Install New Software

Étape 3 : dans la fenêtre "Add Repository", vous pouvez dès lors sélectionner la source du plugin ADT :

  • Soit à partir du site https://dl-ssl.google.com/android/eclipse.
  • Soit à partir de l'archive zip ADT-20.0.3.zip téléchargée en local. Dans ce contexte, cliquer sur le bouton "Archive..." de la fenêtre "Add Repository" pour localiser et sélectionner l'archive zip.

Le nom du plugin saisi dans le champ "Name" n'a aucune importance.

Source : https://dl-ssl.google.com/android/eclipse Source : Fichier zip
Eclipse - Install New Software - Add - Source http Eclipse - Install New Software - Add - Source zip

Étape 4 : sélectionner les composants du plugin ADT à installer. 2 composants sont proposés :

  • Developer Tools : composants classiques pour le développement d'applications Android avec la machine Java Davlik, machine virtuelle Java embarquée dans tous les smartphones et/ou tablettes Android.
  • NDK (Native Developer's Kit) : composants pour le développement d'applications Android interagissant avec les couches Linux natives C/C++ des smartphones et/ou tablettes Android.

Ici seuls les composants "Developer Tools" du plugin ADT sont sélectionnés :

Eclipse - Install New Software - Add

Après quelques fenêtres encore à propos des licences notamment, l'installation est alors terminée. Au cours de cette installation les dépendances entre packages sont vérifiées.

Inconvénients de cette méthode

Avec la méthode graphique, le plugin ADT est installé dans les répertoires par défaut d'Eclipse :

%ECLIPSE_HOME%\features
com.android.ide.eclipse.adt_20.0.3.v201208082019-427395
com.android.ide.eclipse.ddms_20.0.3.v201208082019-427395
com.android.ide.eclipse.gldebugger_20.0.3.v201208082019-427395
com.android.ide.eclipse.hierarchyviewer_20.0.3.v201208082019-427395
com.android.ide.eclipse.ndk_20.0.3.v201208082019-427395
com.android.ide.eclipse.traceview_20.0.3.v201208082019-427395
%ECLIPSE_HOME%\plugins
com.android.ide.eclipse.adt_20.0.3.v201208082019-427395.jar
com.android.ide.eclipse.base_20.0.3.v201208082019-427395.jar
com.android.ide.eclipse.ddms_20.0.3.v201208082019-427395.jar
com.android.ide.eclipse.gldebugger_20.0.3.v201208082019-427395.jar
com.android.ide.eclipse.hierarchyviewer_20.0.3.v201208082019-427395.jar
com.android.ide.eclipse.ndk_20.0.3.v201208082019-427395.jar
com.android.ide.eclipse.traceview_20.0.3.v201208082019-427395.jar
overlay.com.android.ide.eclipse.adt.overlay_20.0.3.v201208082019-427395.jar
  • Dans un contexte où plusieurs distributions d'Eclipse Enterprise Edition coexistent, l'installation du plugin ADT doit être réalisée pour chaque version.
  • Si Eclipse Enterprise Edition est réinstallé ou mis à jour, le plugin ADT doit être à nouveau installé.
  • Lors de la mise à jour du plugin ADT avec cette interface graphique, impossible de revenir en arrière, l'ancienne version du plugin ADT n'est plus utilisable même si elle est compatible avec la version installée de la plateforme Android SDK.

Avec tous les inconvénients évoqués ici, l'installation du plugin ADT est donc effectuée en mode délocalisé. Ce mode d'installation est décrit dans le paragraphe qui suit.

Installation du plugin Android ADT en mode délocalisé

Construction et installation du plugin ADT avec Equinox P2 dans un répertoire délocalisé

Le package Java Equinox P2 Repository est le package chargé de vérifier les dépendances entre packages lors de l'installation d'un plugin. Ce package peut être invoqué en ligne de commande avec Eclipse et dans cette ligne de commande la source et le répertoire d'installation du plugin sont paramétrables :

%ECLIPSE_HOME%\eclipse.exe -nosplash -consolelog ^
  -application org.eclipse.equinox.p2.repository.repo2runnable ^
  -source [Source du plugin (http ou zip)] ^
  -destination [Repertoire de destination]

Cette ligne de commandes est invoquée en sous marin dans la version graphique, mais dans le contexte graphique, le répertoire de destination est le répertoire par défaut %ECLIPSE_HOME%.

Grâce à l'option -destination de cette ligne de commandes, la construction et l'installation du plugin ADT est ainsi délocalisable.

Dans ce tutoriel, les plugins sont installés dans le répertoire C:\Software\eclipse-plugins. Le plugin ADT 20.0.3 sera quant à lui installé dans le répertoire C:\Software\eclipse-plugins\adt-20.0.3\eclipse. En fonction de la source choisie pour l'installation du plugin ADT 20.0.3 (http ou fichier zip), les lignes de commande d'installation correspondantes sont alors les suivantes :

Source : https://dl-ssl.google.com/android/eclipse
%ECLIPSE_HOME%\eclipse.exe -nosplash -consolelog ^
-application org.eclipse.equinox.p2.repository.repo2runnable ^
-source https://dl-ssl.google.com/android/eclipse/ ^
-destination C:\Software\eclipse-plugins\adt-20.0.3\eclipse
        
Source : Fichier zip
%ECLIPSE_HOME%\eclipse.exe -nosplash -consolelog ^
-application org.eclipse.equinox.p2.repository.repo2runnable ^
-source file:///D:\logitheque\android-sdk\ADT-20.0.3.zip ^
-destination C:\Software\eclipse-plugins\adt-20.0.3\eclipse
        
Le sous répertoire eclipse dans le chemin d'installation du plugin ADT est très important. Eclipse recherche en effet automatiquement un plugin avec les structures suivantes :
  • <chemin du plugin>\eclipse\features
  • <chemin du plugin>\eclipse\features

À la fin de l'installation du plugin ADT dans le répertoire C:\Software\eclipse-plugins\adt-20.0.3\eclipse, les fichiers content.jar et artifacts.jar peuvent être ignorés et sont supprimés.

Création du lien adt.link vers le répertoire d'installation du plugin ADT

Depuis la version 3.4 d'Eclipse, les distributions incluent le répertoire %ECLIPSE_HOME%\dropins, répertoire dans lequel Eclipse recherche également au démarrage des plugins en plus des répertoires par défaut %ECLIPSE_HOME%\features et %ECLIPSE_HOME%\plugins

Afin qu'Eclipse retrouve le répertoire d'installation d'un plugin délocalisé, créér dans ce répertoire %ECLIPSE_HOME%\dropins un fichier qui jouera le rôle de lien et ayant obligatoirement l'extension .link. Peu importe le nom du fichier, seule l'extension .link est nécessaire pour qu'Eclipse considère qu'il s'agit d'un lien.

Dans ce fichier .link, le chemin du répertoire de l'installation du plugin est défini avec le format suivant :

path=<lettre>:/<répertoire>

Exemple pour le plugin ADT : adt.link

path=C:/Software/eclipse-plugins/adt-20.0.3
  • Sous Windows, les chemins sont saisis avec des slashes (/) ou doubles slashes (//) : C:/Software/eclipse-plugins/adt-20.0.3, C://Software//eclipse-plugins//adt-20.0.3.
  • La définition de la variable path= doit être suivie d'un saut de ligne.
  • Le sous répertoire eclipse dans le chemin d'installation du plugin doit être omis, en effet à partir du chemin donné par la variable path dans le fichier .link, Eclipse recherche automatiquement les plugins dans les répertoires ci-dessous :

    • path\eclipse\features
    • path\eclipse\plugins
Eclipse - ADT - Fichier .link
%ECLIPSE_HOME%\dropins\adt.link
path=C:/Software/eclipse-plugins/adt-20.0.3

Vérification du chargement du plugin ADT avec osgi

Pour vérifier la reconnaissance et le chargement du plugin ADT par Eclipse, éditer le fichier eclipse.ini situé dans le répertoire %ECLIPSE_HOME% et ajouter au début de ce fichier -console pour activer la console osgi (Open Services Gateway Initiative) au démarrage d'Eclipse :

%ECLIPSE_HOME%\eclipse.ini
-console
-startup
plugins/org.eclipse.equinox.launcher_1.3.0.v20120522-1813.jar
 ...

Démarrer ou redémarrer Eclipse, puis dans la console osgi, à l'invite de commandes, lancer la commande ss android :

osgi > ss android
"Framework is launched."

id      State       Bundle
794     ACTIVE      com.android.ide.eclipse.adt_20.0.3.v201208082019-427395
795     ACTIVE      com.android.ide.eclipse.base_20.0.3.v201208082019-427395
796     STARTING    com.android.ide.eclipse.ddms_20.0.3.v201208082019-427395
797     STARTING    com.android.ide.eclipse.gldebugger_20.0.3.v201208082019-4273
95
798     STARTING    com.android.ide.eclipse.hierarchyviewer_20.0.3.v201208082019
-427395
799     STARTING    com.android.ide.eclipse.traceview_20.0.3.v201208082019-42739
5
800     STARTING    overlay.com.android.ide.eclipse.adt.overlay_20.0.3.v20120808
2019-427395

Si la liste des packages Java Android (com.android... etc) apparaît, le plugin ADT est reconnu et chargé par Eclipse. Dans le cas contraire, reprendre les étapes précédentes pour vérifier si une erreur n'a pas été commise.

Avantages de cette méthode

2 avantages majeurs avec cette méthode :

  • Le plugin ADT n'est pas incorporé dans une distribution d'Eclipse et peut être ainsi partagé par plusieurs distributions d'Eclipse Enterprise Edition, distributions qui contiendront uniquement le fichier adt.link dans le répertoire %ECLIPSE_HOME%\dropins.
  • Il suffit simplement de modifier le fichier adt.link pour basculer d'une version du plugin ADT à une autre, par exemple de la version 20.0.1 à la version 20.0.2, mais à condition bien entendu que la version du plugin ADT soit compatible avec la version installée de la plateforme Android SDK.
    path=C:/Software/eclipse-plugins/adt-20.0.1 => path=C:/Software/eclipse-plugins/adt-20.0.2

Paramétrage de Google Android SDK dans Eclipse

Tout est parfait, le plugin ADT est installé dans Eclipse. Les outils Andoid SDK Manager et Android AVD Manager sont intégrés dans le menu Window d'Eclipse. Il ne reste plus qu'à spécifier le répertoire d'installation de la plateforme Android SDK (%ANDROID_SDK%) dans la fenêtre des préférences d'Eclipse (Menu : WindowPreferences)

Eclipse - ADT - Menu Window
Eclipse - ADT - Paramétrage Android SDK

Après avoir défini le chemin d'accès à la plateforme SDK Android, les versions des images Android installées sont listées (ici Android 2.3.3 et Android 4.1).

Le plugin ADT et Eclipse interagissent avec les 2 programmes ci-dessous de la plateforme Android SDK :

Programme Description
%ANDROID_SDK%\tools\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).
%ANDROID_SDK%\tools\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.

Premier projet Android avec Eclipse

Et c'est parti pour débuter le développement d'un premier projet Android à partir du menu FileNewProjectAndroid Application Project

Eclipse - ADT - Nouveau projet Android

L'installation du package complémentaire "Android Support Library" dans la plateforme Android SDK prend toute son importance dans l'étape suivante. Sans ce package, la définition de la version minimum à certifier dans le projet Android ("Minimum Required SDK") est indisponible :

Eclipse - ADT - Définition du projet Android - Niveaux de compatibilité avec Android Support Library

Ce tutoriel s'arrête ici car il ne s'agit plus de l'intégration de la plateforme Android SDK dans Eclipse, mais du développement d'une application Android avec Eclipse.

Conclusion

L'installation du plugin Android ADT dans Eclipse est assez simple. 3 bonnes pratiques à retenir :

  • Utiliser la version Eclipse Enterprise Edition pour éviter bien des tracas avec les dépendances de packages.
  • Délocaliser le plugin Android ADT grâce au package Java Equinox p2 en ligne de commandes. Cette méthode permet de partager le plugin ADT par plusieurs distributions d'Eclipse Enterprise Edition et de gérer plusieurs versions de ce plugin.
  • Inclure impérativement le package complémentaire "Android Support Library" lors de l'installation de la plateforme Android SDK afin de certifier une version minimale d'Android au cours du développement avec le plugin ADT et Eclipse.

Un point noir avec Google Android : la version du plugin ADT est malheureusement très souvent liée à une version unique de la plateforme Android SDK.