web-dev-qa-db-fra.com

Jar Mismatch 2 versions d'Android-support-v4.jar trouvées dans la liste des dépendances

J'essaie de créer 2 versions d'une application Android (gratuite/payante). J'ai une Android bibliothèque contenant des fichiers communs aux deux. J'ai créé un nouveau projet Android et j'essaie d'utiliser la bibliothèque, mais le message d'erreur ci-dessous s'affiche:

Found 2 versions of Android-support-v4.jar in the dependency list,
but not all the versions are identical (check is based on SHA-1 only at this time).
All versions of the libraries must be the same at this time.
Versions found are:
Path: /Users/Zaheer/Developer/App Free/libs/Android-support-v4.jar
    Length: 349252
    SHA-1: 612846c9857077a039b533718f72db3bc041d389
Path: /Users/Zaheer/Developer/App Library/libs/Android-support-v4.jar
    Length: 337562
    SHA-1: 27c24d26e4c5d57976e6926367985548678e913c

Des idées sur la façon de résoudre ce problème? J'ai joué avec le chemin de la construction sans succès.

130
Zaheer

Des idées sur la façon de résoudre ce problème?

Supprimer un.

J'ai joué avec le chemin de la construction sans succès.

Étape n ° 1: Annuler tout cela. Si vous manipulez le chemin de génération, sur la version R16 ou supérieure du plug-in ADT pour Eclipse, vous vous y trompez.

Étape n ° 2: Choisissez l’une de ces deux versions du fichier JAR ou choisissez-en une dans la zone "extras" de votre installation de SDK.

Étape n ° 3: Mettez le bon fichier JAR dans App Library.

Étape n ° 4: Supprimez celui de App Free car il récupérera ce fichier JAR de App Library.

Vous pouvez également utiliser le même fichier JAR dans les deux emplacements (App Free et App Library), bien que cela prenne de la place, sans raison.

176
CommonsWare
  1. Supprimer Android-support-v4.jar de App Free
  2. Ajouter le même fichier de App Library à App Free
24
Lee Chun Hoe

Les solutions ci-dessus résolvent principalement le problème. après avoir utilisé ces solutions et le problème persiste. ensuite

Allez dans le dossier du projet -> libs-> et supprimez "Android-support-v4.jar"

En espérant que cela résoudrait votre problème, car cela résoudrait mon problème.

12
Nauman Khalid

Il existe des scénarios dans lesquels plusieurs projets de bibliothèque ont le Android-support-v4.jar dans leur libs et créent des chemins et votre projet a une dépendance à l’égard des deux. Disons par exemple que dans mon cas, j'ai les projets de bibliothèque suivants dans mon espace de travail,

  • libfacebook
  • libsherlockactionbar

Ces deux projets sont indépendants et mon project.properties ressemble à ce qui suit,

# Project target.
target=Android-17
Android.library.reference.1=../libfacebook
Android.library.reference.2=../libsherlockactionbar

Lorsque je construis mon projet, je rencontre un problème d'incompatibilité de jar, avec des références dupliquées à deux copies du même fichier. Ce que j'ai fait pour résoudre ce problème est un peu une supercherie. J'ai créé un nouveau projet de bibliothèque nommé libcommons en tant que parent de tous les autres projets bibliothèque de mon espace de travail, notamment libfacebook et libsherlockactionbar. Ensuite, j'ai supprimé la bibliothèque de support de tous les autres projets et gardé une seule copie dans le dossier libcommonslibs. Ensuite, j'ai ajouté libcommons comme référence à tous mes autres projets de bibliothèque. Une fois mon espace de travail nettoyé, tout fonctionne à merveille.

11
Subin Sebastian

C'est un correctif plus élégant que la suppression et l'ajout de fichiers!

Vous avez juste besoin de:

  1. Clic droit sur le projet App Gratuit
  2. Allez à "Outils Android"> "Ajouter une bibliothèque de support"
  3. Approuver les autorisations et le laisser mettre à jour la bibliothèque
  4. Répétez cette procédure pour le projet App Library

La bibliothèque de support Android sera alors synchronisée (:

8
cokeby190

SOLUTION TRÈS SIMPLE

Une solution très simple a fonctionné pour mon cas, il suffit de copier le même fichier jar (Android-support-v4.jar) dans tous les projets. Il n'y aura plus de conflit.

1 Copiez le fichier jar Android-support-v4.jar à partir du dossier libs de n’importe quel projet.

2 Supprimez le fichier jar Android-support-v4.jar du dossier libs du second projet qui existe déjà.

3 Collez le fichier JAR nouvellement copié du premier projet dans le dossier libs du second projet.

Le problème d’inadéquation des pots sera résolu à présent.

7
gprathour

Il suffit de copier la bibliothèque d’un projet à l’autre. Peut-être que l'horodatage doit être identique pour les deux.

5
Rafael Sanches

Résolution:

  1. Faites un clic droit sur le projet 'libre'> Android Outils> Ajouter une bibliothèque de support.
  2. Faites la même chose sur un projet "payé".
  3. Nettoyer tous les projets
4
strawberrywine

Vérifiez si des projets non pertinents sont ouverts pour vous, parce que c'était le cas pour moi, il semblait qu'un des fichiers JAR était lié à un projet différent, avec lequel je ne travaillais pas, alors j'ai juste fermé ce projet, la construction du projet sur lequel je travaille et n’avais plus le problème! J'espère que ça aide quelqu'un!

2
Arturas M

bien .. ça marche pour moi:

Aller à

Dossier de projet> libs

ensuite, supprimez "Android-support-v4.jar"

Ensuite

projet> Nettoyer

Ça va marcher!

1
Erick Guerrero

Utiliser le même fichier jar lors de l'ajout de fichiers jar externes dans la bibliothèque et dans le projet

1
Pratik Kanade

Je viens d'avoir ce problème, mais au lieu de supprimer le conflit Android-support-v4.jar je viens de le renommer Android-support-v4_PROJECT.jar, ce qui a supprimé le conflit .

Si vous vous demandez comment renommer un fichier dans Eclipse, il vous suffit de surligner le fichier et d'appuyer sur F2.

1
eBehbahani

Peut-être ouvrez-vous 2 projets en même temps (utilisant Android-support-v4.jar). I close 1 project and every thing ok

0
Grey Wolf

Vous devez simplement disposer du même total de contrôle Android-support-v4.jar pour chacun de vos projets. Pour cela, vous pouvez copier/coller l’un d’eux dans tous vos projets/bibliothèques en conflit.

Rien d'autre à faire, nettoyer et profiter :)

0
tryp