2012-04-10 4 views
1

Ich habe ein kleines Problem beim Importieren eines Projekts in mein Android-Projekt.Wie führe ich ein Glas aus, das ein anderes Gefäß verwendet?

Ich habe eine kleine Bibliothek mit Ical4Java zum Parsen einer .ical-Datei gebaut, und diese Bibliothek wird in ein .jar exportiert.

In meinem Android-Projekt habe ich meine generierte .jar-Datei aus meiner Bibliothek, die einige Jars enthält, importiert und zum Build-Pfad hinzugefügt, damit meine Bibliothek funktioniert.

Aber wenn ich meine Anwendung ausführen es nur stürzt ab und ich bekomme diese auf dem LogCat:

E/AndroidRuntime(14382): java.lang.NoClassDefFoundError: net.fortuna.ical4j.data.CalendarBuilder 

Diese Bibliothek (ical4j.jar) auf der Bibliothek buildpath importiert und wird whith meine Bibliothek (mylibrary exportiert. jar) ..

Antwort

1

Ist mylibrary.jar eine ausführbare JAR-Datei?

Wenn ja, können Sie keine externen Gläser referenzieren.

+0

Nein, es ist nur eine .jar-Datei – rafuru

+0

Ok, dann siehe @ j13r's Antwort. – Dave

1

Geben Sie einfach den Inhalt des einen Glases in das andere Glas (kombinieren Sie sie). Sie sind nur Zip-Dateien.

+0

hmm Entpacken Sie den Inhalt aller 17 .jar-Dateien und legen Sie sie einfach auf "mylibrary.jar"? – rafuru

+0

@rafuru: Ja, wenn Sie Eclipse verwenden, wird es dies für Sie tun, wenn Sie die Funktion "Export To Jar" (ich glaube, das ist es so) verwenden. – Dave

+0

Ja, in meinem Bibliotheksprojekt verwende ich Export-> JAR-Datei ... und enthält auch alle Gläser verwendet, aber auf Android Ich empfange, dass NoClassDefFoundError .. – rafuru

2

Sie können One-Jar verwenden, um Ihnen bei der Verwendung einer JAR-Datei zu helfen, die von anderen JAR-Dateien abhängig ist. Grundsätzlich können Sie sie in einer JAR-Datei kombinieren.

Hier ist ein wenig tutorial, um Ihnen zu helfen.

Verwandte Themen