it-swarm.com.de

Jar stimmt nicht überein! Korrigieren Sie Ihre Abhängigkeiten

Schritte zum Reproduzieren:

  1. android-Projekt "MyApp" erstellen
  2. importieren Sie ActionBarSherlock (ABS), Directional ViewPager (DVP) oder eine andere Open Source-Bibliothek, die die Android-Unterstützungsbibliothek verwendet.
  3. Fügen Sie die Bibliotheken zum Projekt "MyApp" hinzu 

Konsolenprotokoll:

[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

Ich weiß, ich sollte Android-support-v4.jar aus dem libs-Ordner löschen und nur eine Kopie für alle aufbewahren. Aber das löst mein Problem nicht.  

Wenn ich versuche, die Android-support-v4.jar aus MyApp zu löschen, wird die folgende Fehlermeldung angezeigt.

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

Wenn ich versuche, die Android-support-v4.jar ausABSzu löschen, wird die folgende Fehlermeldung angezeigt

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

Ich habe versucht, das Projekt zu bereinigen, Projekteigenschaften reparieren. Starten Sie Eclipse, Build, Import und Hinzufügen erneut. Ich habe versucht, das Unterstützungsglas im libs-Ordner von einer Bibliothek in eine andere zu kopieren. Löschen Sie den Support-Jar in beiden Bibliotheken und fügen Sie ihn dem MyApp-Projekt hinzu. Nichts hat für mich gearbeitet. 

wenn ich versuche, einzelne Bibliothek hinzuzufügen, funktioniert es gut. Ich stehe vor dem Problem, wenn ich versuche, zwei oder mehr Bibliotheken zu einem einzelnen Projekt hinzuzufügen.

fehler beim Hinzufügen von zwei Bibliotheken in 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
71
SKK

Verwenden Sie ein Bibliotheksprojekt nur für die Unterstützungsbibliothek

Ab ADT 22 mit Eclipse Juno 

Ich glaube nicht, dass die oben genannten Antworten wirklich die besten Antworten sind. Ich denke auch nicht, dass es empfohlen wird, die Funktion external jar in Eclipse (AFAIK) mehr zu verwenden.

Vielmehr funktionierte für mich das ein separates leeres Bibliotheksprojekt erstellen. 

Verwenden Sie dann Android tools> Add Support Library, um die neueste Version zu erhalten, die Sie benötigen oder möchten. 

Dann Entfernen Sie die Unterstützungsbibliothek aus allen anderen Projekten.

Fügen Sie schließlich für jedes Projekt, das dies erfordert, einen Verweis auf Ihr neues Bibliotheksprojekt hinzu

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

Dann haben alle Ihre Projekte eine einzige Quelle zur Verwendung und Aktualisierung der Support-Bibliothek. Dies macht es auch einfacher, Javadocs zu arbeiten.

Informationen zum Einrichten der Javadocs finden Sie unter: 

Wie kann ich Javadoc oder Quellen an Jars im libs-Ordner anhängen?

49
pjco

Nehmen Sie Android-support-v4 nicht in die Bibliothek auf, sondern fügen Sie es Ihrem Projekt als externes Jar hinzu, indem Sie Menü "Pfad erstellen"> Externes Jar hinzufügen verwenden

Manchmal müssen Sie Ihr Projekt bereinigen.

54

Entfernen Sie die Android-support-v4.jar-Datei aus dem libs-Ordner aus Ihrem Projekt.

16
Pratik Butani

Actionbarsherlock enthält die Unterstützungsbibliothek. Dies führt möglicherweise zu einem Konflikt, wenn sich die Support-Bibliothek auch in Ihrem Hauptprojekt befindet.

Entfernen Sie Android-support-v4.jar aus dem libs-Verzeichnis Ihres Projekts.

Entfernen Sie auch Android-support-v4.jar aus Ihrer zweiten Bibliothek und versuchen Sie es erneut.

Jar Mismatch 2 Versionen von Android-support-v4.jar in der Abhängigkeitsliste gefunden

7
Raghunandan

Ich stimme mit pjco überein. Der beste Weg ist die offizielle Methode, die in Support Library Setup im Tutorial unter developer.Android.com erläutert wird.

Erweitern Sie dann im Eclipse "package Explorer" Ihr Hauptprojekt und löschen Sie Android-support-v4.jar aus dem Ordner "libs" (als Pratik Butanivorgeschlagen ). 

Das hat bei mir funktioniert.

5
nettie
  1. Wenn Sie in Ihrer Anwendung Bibliotheksprojekte verwenden und beide Projekte dieselbe Jar-Version mit einer anderen Version verwenden, überprüfen Sie einfach alle in Ihrer Anwendung angefügten Bibliotheksprojekte. Wenn etwas nicht übereinstimmt, entfernen Sie es.

  2. wenn der obige Prozess nicht funktioniert, entfernen Sie einfach die Projektabhängigkeit vom Erstellungspfad, fügen Sie erneut Bibliotheksprojekte hinzu und erstellen Sie die Anwendung. 

4
Gopal Sharma

Ich denke, Sie erstellen einen neuen Arbeitsbereich und importieren alle Projekte ordnungsgemäß mit seiner Bibliothek. Außerdem fügen Sie in ADB-Bundle in jdk-Extra-Dateien den externen Code Android-support-v4.jar hinzu. Ich denke es ist Arbeit für dich. Ich hoffe alles Gute 

Und nutzen Sie auch die Android-Support-Bibliothek, die Ihnen helfen kann, und aktualisieren Sie Ihr ADT-Paket

1
user4004473

Ich glaube, Sie benötigen Ihr Support-Paket sowohl in der Bibliothek als auch in der Anwendung. Um dies zu beheben, müssen Sie jedoch sicherstellen, dass sich an beiden Speicherorten dieselbe Datei befindet (gleiche Prüfsumme).

Kopieren Sie einfach die Support-Package-Datei von einem Speicherort und kopieren Sie sie an einen anderen. Reinigen Sie anschließend Ihre Bibliothek/Ihr Projekt.

1
waqaslam

In meinem Fall gab es ein anderes Verzeichnis in meinem Arbeitsbereich mit der gleichen JAR-Datei wie in meinem Projekt. Ich hatte dieses Verzeichnis oder irgendetwas darin nicht erstellt. Ich glaube, es wurde von Eclipse erstellt. Ich habe dieses Verzeichnis gerade gelöscht und es läuft einfach in Ordnung.

0

Rechtsklick auf dein Projekt -> Android Tool -> Unterstützungsbibliothek hinzufügen

0
user5999064