71 votes

La jarre est mal assortie ! Corrigez vos dépendances

Marche à suivre pour reproduire :

  1. créer un projet Android "MyApp
  2. importer ActionBarSherlock(ABS),Directional ViewPager(DVP), ou toute autre bibliothèque open source qui utilise la bibliothèque de support Android.
  3. Ajouter les bibliothèques au projet "MyApp".

Journal de bord de la console :

[2013-04-17 14:27:12 - MyApp] Found 2 versions of android-support-v4.jar in the dependency list,
[2013-04-17 14:27:12 - MyApp] but not all the versions are identical (check is based on SHA-1 only at this time).
[2013-04-17 14:27:12 - MyApp] All versions of the libraries must be the same at this time.
[2013-04-17 14:27:12 - MyApp] Versions found are:
[2013-04-17 14:27:12 - MyApp] Path: C:\Users\santhosh\My_Workspace\DVP_library\libs\android-support-v4.jar
[2013-04-17 14:27:12 - MyApp]   Length: 140011
[2013-04-17 14:27:12 - MyApp]   SHA-1: fc834ac8147bc4ed0b555f90f500a57d4232c448
[2013-04-17 14:27:12 - MyApp] Path: C:\Users\santhosh\My_Workspace\abs_library\libs\android-support-v4.jar
[2013-04-17 14:27:12 - MyApp]   Length: 271754
[2013-04-17 14:27:12 - MyApp]   SHA-1: 53307dc2bd2b69fd5533458ee11885f55807de4b
[2013-04-17 14:27:12 - MyApp] Jar mismatch! Fix your dependencies

Je sais que je suis censé supprimer Android-support-v4.jar du dossier libs et n'en garder qu'une copie pour tous. Mais cela ne résout pas mon problème.

Lorsque j'essaie de supprimer le fichier Android-support-v4.jar de l'application MonApp mais j'obtiens l'erreur suivante.

 Problems encountered while deleting resources.
 Could not delete 'C:\Users\santhosh\My_Workspace\MyApp\libs\android-support-v4.jar'.

Lorsque j'essaie de supprimer le fichier Android-support-v4.jar du fichier ABS mais je reçois l'erreur suivante

 ????? cannot be resolved to a type error.

J'ai essayé de nettoyer le projet, de réparer les propriétés du projet. Redémarrer eclipse, construire, importer et ajouter à nouveau. J'ai essayé de copier le support jar dans le dossier libs d'une bibliothèque à l'autre, de supprimer le support jar dans les deux bibliothèques et de l'ajouter au projet MyApp. Rien n'a fonctionné pour moi.

Si j'essaie d'ajouter une seule bibliothèque, cela fonctionne bien. Je rencontre le problème lorsque j'essaie d'ajouter 2 bibliothèques ou plus à un seul projet.

erreur qui se produit lorsque j'ajoute deux bibliothèques dans MyApp :

The project was not built since its build path is incomplete. 
Cannot find the class file for android.support.v4.app.FragmentActivity. 
Fix the build path then try building this project MyApp Unknown Java Problem
The type android.support.v4.app.FragmentActivity cannot be resolved. It is indirectly referenced from required .class files MyActivity.java/MyApp/src/com/santhosh/myapp    line 10 Java Problem
Jar mismatch! Fix your dependencies MyApp Unknown Android Dependency Problem

54voto

N'incluez pas Android-support-v4 dans la bibliothèque, vous pouvez l'ajouter à votre projet en tant que jar externe en utilisant menu chemin de construction > ajouter un jar externe

Il faut parfois nettoyer son projet.

49voto

pjco Points 2503

Utiliser un projet de bibliothèque uniquement pour la bibliothèque d'appui

Depuis le ADT 22 en utilisant Eclipse Juno

Je ne pense pas que les réponses ci-dessus soient vraiment les meilleures. Je ne pense pas non plus qu'il soit recommandé d'utiliser la fonction external jar dans Eclipse (AFAIK).

Ce qui a fonctionné pour moi, c'est plutôt créer un projet de bibliothèque vide et séparé.

Ensuite, utilisez Android tools > Add Support Library pour obtenir la dernière version dont vous avez besoin ou que vous souhaitez.

Dans ce cas supprimer le jar de la librairie de support de tous les autres projets .

Enfin, pour chaque projet qui en a besoin, ajoutez une référence à votre nouveau projet de bibliothèque

(project properties) > Android > (Library box) > Add...

Tous vos projets disposeront alors d'une source unique pour utiliser et mettre à jour la bibliothèque de support. Les javadocs sont ainsi plus faciles à utiliser.

Pour savoir comment configurer les javadocs, voir :

Comment attacher la javadoc ou les sources aux bocaux dans le dossier libs ?

16voto

Pratik Butani Points 4290

Retirer android-support-v4.jar du dossier libs de votre projet.

7voto

Raghunandan Points 63969

Actionbarsherlock contient la bibliothèque de support. Cela provoque probablement un conflit si la bibliothèque de support se trouve également dans votre projet principal.

Retirer android-support-v4.jar dans le répertoire libs de votre projet.

Retirer également android-support-v4.jar de votre deuxième bibliothèque et réessayez.

Jar Mismatch Trouvé 2 versions de Android-support-v4.jar dans la liste des dépendances

5voto

heather Points 46

Je suis d'accord avec pjco. La meilleure méthode est la méthode officielle expliquée dans Soutien à la configuration de la bibliothèque dans le tutoriel à l'adresse developer.Android.com .

Ensuite, dans la fenêtre Eclipse "explorateur de paquets" Développez votre projet principal et supprimez Android-support-v4.jar de la "libs" (en tant que Pratik Butani suggéré ).

Cela a fonctionné pour moi.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X