Frage

Ich habe nur ein Android-Eclipse-Projekt nur Bibliothek (keine Hauptklasse, nur Bibliotheksklassen), die ich in mein Haupt-Android-Anwendungsprojekt aufnehmen möchte.

Ich ging zum Build -Pfad und fügte das Bibliotheksprojekt zu den "erforderlichen Projekten auf dem Build -Pfad" auf der Registerkarte Projekte hinzu und überprüfte es auf der Registerkarte "Order and Export".

Wenn die Anwendung jedoch ausgeführt wird, wird die VerifyError -Ausnahme ausgestellt, da die Klasse aus dem Bibliotheksprojekt nicht in der APK zusammengepackt wurde.

Irgendeine Lösung dafür?

War es hilfreich?

Lösung

Android -Projekte werden leider nicht verpackt. Wenn Ihr Bibliotheksprojekt nur Klassen und keine Ressourcen enthält, können Sie es zu einem normalen Java -Projekt machen. Java -Projekte, von denen ein Android -Projekt abhängt, um zu packen.

Wenn das Bibliotheksprojekt Android -spezifische Klassen verwendet, müssen Sie bei einem Java -Projekt auch Android.jar zum Build -Pfad hinzufügen. Dies sind "Plattformen/Android-1.6/android.jar" in Ihrem SDK-Verzeichnis, wenn Sie beispielsweise die 1.6-Plattform installiert haben.

Andere Tipps

Wenn es sich bei der Bibliothek um ein reguläres Java -Projekt handelt, ist der einfachste Weg, es in ein Android -Projekt aufzunehmen, darin, einen verknüpften Quellordner zu verwenden. Gehen Sie im Anwendungsprojekt, um den Build -Pfad zu konfigurieren | Quelle | Link Source ... Nennen Sie den Ordner so etwas wie Bibliotheksrc und verweisen Sie auf den SRC-Ordner des Bibliotheksprojekts.

Ich hatte ein ähnliches Problem (mit der VerifyError -Ausnahme beim Laden auf ein Gerät) mit der Eclipse -Version: 3.6.2. Ich hatte ein Android -Bibliotheksprojekt mit einigen gemeinsamen Klassen zum Teilen erstellt, die von den Android SDK -Klassen abhing. Anstatt das Andrloid -Bibliotheksprojekt zu einem "normalen" Java -Projekt zu machen, fügte ich das Bibliotheksprojekt als Bibliotheksreferenz in den Projekte Projects Properties Android für die Projekte, die die Bibliothek verwendeten, hinzu. Dies löste die fehlende Klassenausnahme.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top