2012-04-04 9 views
0

Ich habe 2 Android Bibliothek Projekte. LibraryA und LibraryB.einschließlich Android-Bibliothek funktioniert nicht für Ant in der Eclipse

Ich habe ein Projekt project1 genannt, die Klassen und Sachen verweisen muss, die in LibraryA sind und BibliothekB.

Ich verwende das automatisch generierte Ant Skript in eclipse, um alle Projekte zu erstellen. Hinweis: Ich habe alle anderen Builder aus jedem der Projekte entfernt und nur den Builder Ant verwendet.

Wenn ich den Build-Skript für project1 mit den folgenden Zielen "sauber, debug" laufen, eclipse's Konsole sagt BUILD SUCCESSFUL. JEDOCH, wenn ich den Code in Eclipse betrachten, gibt es viele Fehlerzeilen und X im Code, der besagt, dass die imports cannot be resolved und zahlreiche andere Fehler. Im Grunde sagt es mir, dass die Verweise auf die Bibliotheksprojekte nicht da sind. Es sagt mir auch die R's kann nicht gelöst werden.

Ich dachte ADT17 würde dieses Problem beheben, aber es besteht immer noch. Mache ich etwas falsch? Wie kann ich dieses Problem lösen, so dass Eclipse die Referenzen erlaubt und alles gut baut?

Das Ausführen der Anwendung auf dem Telefon funktioniert.


# The project.properties file for project1 
target=android-10 
android.library.reference.1=../LibraryA 
android.library.reference.2=../LibraryB 

Ich habe eine schmutzige Update, das dieses Problem löst, aber ich würde eine viel sauberere Lösung wie die automatische und erfordert nicht die erzeugte automatische Bearbeitung build.xml, dass Android erzeugt. Es scheint, als ob diese Art von Ding out of the box funktioniert.

Antwort

1

Ich habe das Problem herausgefunden. gen wurde nicht als src Ordner für das Projekt enthalten. Sobald ich gen als Quellordner einschloss, begannen alle R Referenzen zu arbeiten.

Ich habe nicht die Gläser in meinem libs Ordner für das Projekt.

Meine „dirty Lösung“ i erwähnt früher ein post-compile Ziel ist das Hinzufügen und die classes.jar nehmen, die während des Build und Umbenennung zu "TheProjectName".jar und dann wird das Projekt sehen Sie die JAR-Datei Verweise erzeugt wird.

Die "schmutzige Lösung" ist, was ich vor ADT17 tat und hoffte, in ADT17 zu vermeiden, aber es scheint, als ob dieses Problem immer noch nicht resovled ist. Wenn jemand Vorschläge zur Lösung dieses Problems hat, lass es mich wissen.

0

Haben Sie versucht, Ihre JAR-Bibliotheken in libs Ordner zu platzieren? In adt17 müssen Ihre Gläser hineingelegt werden.

+0

Versucht, einschließlich der generierten 'jar' jeder Bibliothek in den' libs' von * project1 * und meine 'R' Referenzen sind immer noch rot und mit 'x'. Aber es baut immer noch erfolgreich. Ich sehe auch nicht, warum ich diese in das 'libs'-Verzeichnis einschließen muss, wenn ich' android' anrufe. Ich möchte, dass diese Bibliotheken als Bibliotheksprojekte enthalten sind. Wenn sie im 'libs'-Verzeichnis sein müssen, warum legen Sie sie nicht automatisch dort hin? Das scheint albern zu sein, ein benutzerdefiniertes Ziel in ihr automatisch generiertes Build-Skript zu schreiben, das ... – prolink007

+0

Dies löste das Problem, dass die meisten Referenzen rot waren, mit Ausnahme der 'R'-Referenzen. – prolink007

0

Entweder machen Sie ein Android-Projekt durch Eclipse oder tippen Sie "android create project" auf der Konsole (und vergessen Sie nicht die zusätzlichen Parameter wie -n, -t und vielleicht andere).Wenn Sie bereits ein Android-Projekt mit Eclipse erstellt haben, aber die Datei build.xml (und möglicherweise andere) nicht mehr finden, führen Sie "android update project -p." im Stammordner Ihres Projekts, um es zu aktualisieren und die fehlenden Dateien hinzuzufügen. Wenn Sie ein Android-Projekt über Eclipse oder eine Befehlszeile erstellen, sollten Ordner wie "gen" (und andere) ordnungsgemäß eingerichtet werden.

Verwandte Themen