2012-04-20 13 views
5

Ich bekomme immer den Fehler java.lang.NoClassDefFoundError: com.facebook.android.Facebook beim Ausführen meiner Anwendung.java.lang.NoClassDefFoundError: com.facebook.android.Facebook

Dies geschieht, wenn Sie anrufen:

facebook = new Facebook (APP_ID);

Addtional Fehlermeldung:

konnte nicht finden Klasse 'com.facebook.android.Facebook', verwiesen von Verfahren com.example.example1.ShareOnFacebook.onCreate

ich hinzufügen, haben die Facebook-.jar-Datei über referenzierte Bibliotheken in Eclipse.

Hat jemand dieses Problem entdeckt/gelöst?

+0

hast du dein jar im libs-ordner abgelegt? – MAC

+0

ist das Jar in Ihrem Klassenpfad zur Laufzeit? –

+0

Wie würden Sie überprüfen, dass Colin, entschuldigt sich ziemlich neu zu diesem – user983965

Antwort

19

Gehen Sie einfach zu Projekt/Eigenschaften/Java Build Path/Bestellung und Export und klicken Sie auf das Kontrollkästchen von Jar. Dies setzt jar als "exportiert". Sie können dies in .classparh Datei überprüfen: classpathentry exportierte = "wahr" kind = "lib" path = "/ my-jars/facebook-android-sdk-1.2.1.jar"

Vergessen Sie nicht zu säubere dein Projekt danach (Project/Clean ...)

+1

Diese Lösung funktionierte für mich, brilliant! –

+0

Diese Lösung ist die bessere. Brauchen Sie noch mehr Stimmen .... –

+0

beste Lösung des Problems – Dimon

3

Ich habe gehört, dass Sie mit dem neuesten ADT Ihren Bibliotheksordner "libs" und nicht "lib" nennen müssen. Aber das hat nicht für mich funktioniert.

Also musste ich stattdessen auf zurückgreifen, indem ich meine JAR-Datei in den "Assets" -Ordner verschiebe. Das hat mein Problem behoben.

Total zurückgeblieben, wenn Sie mich fragen.

2

Ich behalte dieses Problem auch, die "Library Projects" (die die com_facebook_android.jar enthalten sollte) wird nicht im "Package Explorer" überhaupt wiedergegeben. Aber es ist leicht zu lösen.
Rechtsklick auf Projekt> Eigenschaften> Android> Bibliothek -> entfernen Sie die Facebook-Bibliothek Projekt hinzugefügt -> bewerben. Fügen Sie dann das Facebook-Bibliotheksprojekt erneut hinzu und klicken Sie auf "Anwenden". Diesmal erscheint "Library Projects" im Package Explorer auf der rechten Seite.

1

Haben Sie kürzlich Ihr ADT oder Android SDK aktualisiert? Löschen Sie den Verweis auf die Facebook-Bibliothek oder den Facebook-Krug und fügen Sie ihn erneut hinzu.

Sie haben die Art und Weise geändert, wie sie mit externen Bibliotheken in den neuesten ADT-Updates umgehen, und es hat eine Menge meiner Projekte verloren. Löschen der Referenzen und erneutes Hinzufügen scheint den Trick zu tun.

0

Eine Lösung, die für mich funktionierte: die android-support-v4.jar-Datei in meinem Projekt hatte eine andere Version als die in facebooks Projekt. Also kopierte ich facebooks Support-Lib in meinen Projekt-libs-Ordner und es funktionierte wie ein Zauber.

Verwandte Themen