2010-06-14 8 views
6

Ich habe gerade angefangen, mit Android Dev und Java + Eclipse spielen ist ziemlich neu für mich. Ich habe es geschafft, ein einfaches Projekt zu erstellen und es auf meinem Gerät auszuführen. Jetzt möchte ich ein einfaches Spiel erstellen (mehr von ihnen tatsächlich) und ich würde gerne gemeinsame Code-Basis für alle von ihnen verwenden (Game-Loop, Initialisierung, etc ..).mehrere abhängige Android-Projekte in Eclipse

Problem ist, dass ich keine Ahnung habe, wie man das richtig macht. Ich habe Android-Projekt namens Engine mit allen grundlegenden Sachen, die ich brauche, und machte es auf dem Gerät arbeiten. Jetzt habe ich versucht, ein anderes Projekt in demselben Arbeitsbereich namens mygame zu erstellen. Hauptklasse (Aktivität) von mygame ist MyGameApp, die von EngineApp (Hauptaktivität meines Engine-Projekts) erbt, die von Activity erbt.

Ich habe Engine-Projekt in den erforderlichen Projekten in mygame build Pfad Registerkarte in Eigenschaften hinzugefügt. Problem ist, dass wenn ich versuche, dieses Projekt auszuführen, stürzt es auf ClassNotFoundException ab, um meine MyGameApp-Klasse zu finden.

Jede Hilfe (oder Zeiger auf einige Artikel, die erklären, wie dies geschieht) wird sehr geschätzt. einige Stunden viel half nicht googeln:/

Antwort

7

Sie benötigen ein Android Library Project

Ein Android Bibliotheksprojekt einzurichten Projekt ist eine Entwicklung, die Android-Quellcode und Ressourcen gemeinsam genutzt hält. Andere Android-Anwendungsprojekte können auf das Bibliotheksprojekt verweisen und zum Zeitpunkt der Erstellung die kompilierten Quellen in ihre .apk-Dateien einschließen. Mehrere Anwendungsprojekte können auf dasselbe Bibliotheksprojekt verweisen, und jedes einzelne Anwendungsprojekt kann auf mehrere Bibliotheksprojekte verweisen.

Die docs gehen zu sagen, wie Sie ein bestehendes Projekt in ein Bibliotheksprojekt konvertieren:

Sie auch ein bestehendes Anwendungsprojekt in eine Bibliothek umwandeln kann. Öffnen Sie dazu einfach die Eigenschaften für das Projekt und aktivieren Sie das Kontrollkästchen "ist Bibliothek". Andere Anwendungsprojekte können nun auf das vorhandene Projekt als Bibliotheksprojekt verweisen.

+0

danke, das sieht aus wie es tut, was ich brauche. Allerdings habe ich immer noch dasselbe Problem, es kann MyClassApp nicht finden. Ich bin nicht sicher, ob es Fehler woanders gibt, wie es sich über vererbte Klasse beschweren, nicht Base EngineApp, die logisch wäre, wenn es ein Problem mit Projektabhängigkeiten und Bibliotheksverknüpfung gab – Lope

+0

Nicht sicher ... versuchen Sie, Ihre Projekte zu säubern, dann bearbeiten Datei in jedes (z. B. Hinzufügen von Leerzeichen), um eine Neuerstellung zu erzwingen. –

+0

@lope Haben Sie das Bibliotheksprojekt mithilfe des in Abbildung 2 gezeigten Android-Eigenschaftenbildschirms hinzugefügt und aus dem Projektverweisbildschirm entfernt? –