2010-03-08 12 views
5

Ich wechselten nur die Art und Weise meines Android-Projekt gebaut wird und nicht von meinen Unit-Tests nicht mehr arbeiten ... Ich bekomme Fehler wieAndroid Unit Testing - Auflösung und Verifizierung Probleme

WARN/dalvikvm(575): VFY: unable to resolve static field X in ..... 
WARN/dalvikvm(575): VFY: unable to find class referenced in signature 

diese Fehler nur aus Meine Komponententests, in denen die darin definierten Klassen nicht einmal andere im Komponententest definierte Klassen sehen können.

Bevor jedes Projekt ein eigenes Verzeichnis mit Kopien der JAR-Dateien von Drittanbietern hatte. Ich habe gelesen, dass Dex seltsame Dinge mit Referenzen macht, aber nicht in der Lage war, herauszufinden, wie man dieses Problem beheben kann. Gibt es einen besseren Weg, dies zu tun? Ich würde gerne sehen, ein Beispiel für einen großen Android-Arbeitsbereich, wo es mehrere Projekte, Glas-Referenzen, etc. ...

Ist es möglich, dies mit einem Auftrag/Export zu beheben?

Das Projekt wie folgt strukturiert:

  • Eclipse-Workspace (PROJECT_HOME Classpath Variable)
  • lib
    • 3rd-Party-Gläser
    • android.jar
  • Java Projekt A
    • Looks in PROJECT_HOME
  • Java Projekt B
    • Looks in PROJECT_HOME
    • auf Projekt Hängt A
  • Android Projekt
    • auf A & B Hängt
    • Looks in PROJECT_HOME
  • Android Testprojekt
    • auf A Hängt, B, Android Projekt
    • in PROJECT_HOME Sieht
+0

Sie sagten "Ich habe gerade gewechselt ..."; Was hast du gewechselt? –

+0

Worauf haben Sie gerade gewechselt? –

Antwort

1

Sie nicht die 3rd-Party-Glas sind in das Testprojekt. Einfach im Testprojekt exportieren: Projekteigenschaften-> Java Build Pfad-> Reihenfolge und Export. Sobald dies erledigt ist, können Sie reinigen und es sollte gut funktionieren.