Eclipse / Android : comment gérer les conflits de jar (Jar mismatch!)

La création d'un projet Android avec Eclipse peut conduire à l'erreur suivante : Jar mismatch! Fix your dependencies. Voici comment l'éviter.

Lorsque vous créez votre projet Android avec Eclipse, le message d'erreur suivant peut apparaître lors de l'ajout d'une bibliothèque :

Jar mismatch! Fix your dependencies

Ce problème se produit lorsque vous ajoutez 2 fois la bibliothèque android-support-v4, soit en l'ajoutant directement, soit en ajoutant une bibliothèque qui l'ajoute elle-même car elle en a besoin. Votre application se retrouve plusieurs fois avec cette bibliothèque, et ne sait pas comment se comporter.

Une première solution à ce problème consiste à créer un projet-bibliothèque séparé. Dans ce projet, ajoutez la bibliothèque de support d'Android en cliquant dans le menu "Android tools", puis "Add support library". Modifiez ensuite tous vos projets, et supprimez la bibliothèque de support.

Ensuite, pour chaque projet nécessitant la bibliothèque de support, ajoutez une référence vers votre projet-bibliothèque. Allez dans les propriétés du projet, cliquez sur le menu "Android", "Library box" puis "Add...".

Une deuxième solution est de ne pas inclure la bibliothèque de support dans la liste des bibliothèques du projet. Ajoutez-la en tant que "jar externe". Pour cela, cliquez avec le bouton droit sur le nom de votre projet dans la fenêtre des propriétés, puis sur "build path" et "add external jar".

Si le problème provient d'une bibliothèque qui inclut la bibliothèque de support, alors le fait de modifier la façon dont est incluse cette bibliothèque et celui de l'ajouter en tant que "jar externe" peuvent résoudre le problème.

Android