Jusqu’à très récemment, pour développer une application Android, Google proposait soit le plugin ADT pour Eclipse, soit une version packagée d’Eclipse Mobile avec ADT.
Cependant, lors de la Google I/O de 2013, l’équipe Android avait dévoilé Android Studio. Ce nouvel environnement de développement pour Android se base sur IntelliJ. Pour le moment, cet IDE est en version preview. Les mauvaises langues pourraient dire en version instable. 🙂

Vous n’êtes pas sans savoir qu’une nouvelle version d’Android, nommée KitKat 4.4, vient de sortir. Et comme à chaque nouvelle version de l’OS, Google publie également une nouvelle version du SDK. Alors qu’Android Studio bénéficie de nombreuses nouvelles fonctionnalités et améliorations, ADT ne semble offrir rien d’autre que le support de la dernière version d’Android. C’est un signe assez fort indiquant qu’ADT va être abandonné par l’équipe d’Android et qu’il faut passer à Android Studio !

Android Studio

Pour les nouveaux projets rien de plus simple, il suffit de les créer depuis Android Studio. En revanche, pour les projets existant et développés avec ADT, il est nécessaire de les migrer. Heureusement, il existe un guide migration.

Migration

Il faut dans un premier temps, mettre à jour ADT pour avoir la dernière version, puis procéder à un export Android qui génère les scripts Gradle utiles à Android Studio.

Ensuite, il est, bien entendu, nécessaire d’installer Android Studio (actuellement c’est la version 0.3.2 qui est proposée).

Enfin, vous pouvez importer votre projet dans ce nouvel IDE. Vous risquez alors d’avoir une erreur indiquant que vous n’avez pas Gradle 1.8 (mais seulement 1.6). Lancez donc la vérification de mise à jour d’Android Studio. Miracle ! Il trouve une version 0.3.6. Mettez le à jour.

Après la mise jour, relancez l’importation. Vous allez maintenant avoir cette erreur :

Unsupported method: GradleProject.getBuildScript()

Pour la résoudre, il faut éditer le fichier build.gradle créé dans à la racine de votre projet Eclipse et modifier la méthode en erreur ainsi :

buildscript {
    repositories {
        mavenCentral()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:0.6.+'
    }
}

Une nouvelle tentative d’importation du projet Eclipse  va une nouvelle fois retourner l’erreur suivante :

Gradle version 1.8 is required. Current version is 1.6. If using the gradle wrapper, try editing the distributionUrl in C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Android Studio\gradle\wrapper\gradle-wrapper.properties to gradle-1.8-all.zip.

Please fix the project's Gradle settings.

Consult IDE log for more details (Help | Show Log)

Cette fois, il faut éditer le fichier gradle/wrapper/gradle-wrapper.properties de votre projet pour modifier la valeur de la propriété distributionUrl :

distributionUrl=http\://services.gradle.org/distributions/gradle-1.8-all.zip

Lancez une dernière fois l’importation. Ça devrait fonctionner ! Si la version du SDK utilisée dans votre projet ne correspond pas à la version pré-installée avec Android Studio, l’importation devrait encore échouer. Vous pouvez soit changer de version dans Eclipse, soit télécharger la bonne version dans Android Studio.

Pour finir

Une fois votre projet fraichement importé, vous vous dites que vous allez pouvoir enfin continuer à développer votre application sous Android Studio. Cependant, avez-vous déjà créé un projet à partir d’Android Studio ? Oui ? Avez-vous remarqué la différence d’organisation des sources et ressources entre le projet créé et celui importé ? L’importation garde l’organisation d’Eclipse. Je pense que c’est dommage de ne pas respecter la nouvelle organisation (plus claire). De plus, cela permettrait de rester homogène avec vos futurs projets. Il ne reste plus qu’une chose à faire : créer un projet depuis Android Studio, y importer manuellement vos sources et ressources et y adapter vos configurations et scripts !

Bon courage…