2012-05-24 10 views
5

Ich arbeite gerade an einem wachsenden Android-Projekt. Um "Jar Hell" einzufrieren, versuche ich Ivy mit Ant einzurichten, um Abhängigkeiten zu verwalten. Ich habe eine efeu.xml-Datei erstellt, die beim Aufruf alle Abhängigkeiten erfolgreich abruft. Danach habe ich das Eclipse IvyDE Plugin installiert um die efy.xml mit meinem aktuellen Projekt zu verwenden. Alle Abhängigkeiten erscheinen in Eclipse und wenn ich auf den Build-Pfad gehe, sind sie da. Wenn ich auf "Als Android-Anwendung ausführen" klicke, wird alles erstellt. Wenn die App geladen wird (entweder in einem Emulator oder einem tatsächlichen Telefon), stürzt sie beim Start sofort ab. Soweit ich das beurteilen kann, werden die Abhängigkeiten nicht mit meiner App kompiliert. Eclipse selbst scheint sich der Abhängigkeiten bewusst zu sein, da es keine Fehlermeldungen erzeugt.Ein Android-Projekt mit Ant/Ivy erstellen

Also ... Kann mir jemand in die richtige Richtung zeigen, um dieses Problem zu lösen? Gibt es etwas, was ich über Ivy oder das IvyDE-Plugin falsch verstehe? Vielen Dank!

Ich habe auch diese Frage Add Ivy managed dependencies to Android build path betrachtet, wo der Fragesteller das gleiche Problem zu haben schien. Ich verwende die aktuellste Version aller beteiligten Tools.

Antwort

13

Obwohl niemand darauf antwortete, dachte ich, ich würde es beantworten, um anderen verlorenen Googlern zu zeigen, was ich getan habe. Es stellte sich heraus, dass mein Problem damit zusammenhing, wie ich ivysettings.xml eingerichtet hatte. Ich habe die Art und Weise, wie das Abrufmuster funktioniert, falsch verstanden. Glücklicherweise habe ich dieses Projekt auf GitHub gefunden, das zeigt, wie man Ivy mit einem Android-Projekt benutzt. Dieses Beispielprojekt stellte eine solide Grundlage für meine Zusammenarbeit dar. Ich hoffe, es kann auch Ihnen helfen.

https://github.com/h8/IvyAndroidExample

+0

es scheint, Daten zu Efeu Cache abzurufen - aber wenn ich ohne adt bauen, aber mit ant build.xml Anwendung abstürzt die Efeu bereitgestellt Libs nicht zu sehen. Bauen mit ADT funktioniert gut. –

+0

Welchen Befehl verwenden Sie mit Ant? – turtleboy

+0

Ich muss in das Verzeichnis libs abrufen, dann funktioniert es. Wenn mit ADT gebaut wird, reicht es aus, dem Klassenpfad eine Abhängigkeit von efeu zuzufügen, die verwaltet wird, und dann ohne Zurücksetzen zu lösen. Also bekomme ich keine Übereinstimmung, wenn Trie mit dem Projekt mit adt verwaltet. –