34 votes

Bibliothèque de prise en charge de doublons de SDK Facebook pour Android sur dépendances

J'ai mis en place le nouveau Facebook SDK 3.0 beta. La bibliothèque proyect contient les android support library v4. J'ai également le soutien de la bibliothèque sur mon propre proyect (une autre version). Lorsque j'ajoute le Facebook SDK comme bibliothèque, j'obtiens l'erreur suivante dans la console:

Jar mismatch! Fix your dependencies
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.

J'ai essayé d'exclure le dossier libs sur le buildpath, mais l'erreur reste.

La question est: je dois mettre le même .jar sur les deux endroits? Suis-je manqué quelque chose? L'idée est d'utiliser la bibliothèque de prise en charge de ma propre proyect (à tenir à jour).

Merci à l'avance.

122voto

thepoosh Points 5941

il semble que les différents projets sont à l'aide de séparer les 2 bibliothèques de prise en charge et il y a de la somme de contrôle est différent.

Vous devez répéter cette pour les la Facebook SDK projet et de l'application de création.

ce que je fais quand je reçois ce message d'erreur est:

  1. cliquez-droit sur le projet.

  2. passez la souris sur Android Outils.

  3. cliquez sur "Ajouter la prise en charge de la bibliothèque..."

  4. accepter le téléchargement de la bibliothèque.

cela permet de s'assurer de 2 choses: un. vous obtenez la version la plus récente de la bibliothèque de prise en charge de Google sources. et b. vous avez exactement la même bibliothèque dans tous vos projets.

Amusez-vous bien!

1voto

Neil Points 322

Supprimez simplement celui de votre projet, supprimez-le du chemin de classe et essayez de reconstruire votre projet.

1voto

PSIXO Points 583

L'installation de la même version des bibliothèques de prise en charge, via des menus mentionné en haut réponse est plutôt une bonne solution. Bien que parfois, cela ne fonctionne pas pour moi (je pense qu'il a quelque chose à faire avec mon espace de travail dossier de synchronisation avec Dropbox donc Eclipse habitude d'écraser des fichiers parfois) donc l'approche que j'utilise est de lier la bibliothèque de prise en charge à partir de la place centrale. Il y a ces pots à l'intérieur de votre dossier SDK (c:\Program Files (x86)\Android\android-sdk\extras\android\ sous Windows par exemple) qui est en train d'être mis à jour lorsque vous exécutez le SDK manager, de sorte que vous pourriez simplement référence que l'un des deux l'Facebook (ou tout autre bibliothèque) et de vos projets. Depuis dans le code de fin de pots est emballé à vos classes.dex vous n'avez même pas besoin de l'appui de la bibliothèque dans le dossier libs.

Aussi: Si vous utilisez le système de build Gradle et sa gestion de la dépendance ou même Maven, vous n'aurez pas de problèmes de ce genre, mais ils ont besoin de plus de temps et de connaissances pour mettre en place correctement.

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