Donnerstag, 5. Februar 2015

Phonegap mit Eclipse - ein Weg voller Stolpersteine


Plattformunabhängige Entwicklung ist eine feine Sache: Man entwickelt Software einmal und kann sie auf verschiedenen Targets nutzen. Für mobile Software ist Phonegap/Apache Cordova sehr beliebt: Die Software läuft immerhin auf allen gängigen Targets. Nicht nur auf iPhone und Android sondern auch exotischere Plattformen wie Bada oder Tizen werden unterstützt.

Es gibt auch jede Menge Tutorials und Bücher, in denen sehr schön beschrieben ist, wie man mit Phonegap arbeitet. Jede Menge Tutorials und Bücher gibt es auch, in denen beschrieben ist, wie man mit Eclipse für Android entwickelt.

Für die aktuelle Phonegap Version 4.1. ist es aber nicht ohne weiteres möglich zu erfahren, wie man die IDE Eclipse für Phonegap nutzen kann, um Android-Apps zu entwickeln.


Fehlanzeige beim Android Studio

In meinen ersten Versuchen war ich so ambitioniert es mal mit dem Android Studio zu versuchen. Für Google ist diese IDE jetzt die zentrale Entwicklungsplattform. Trotz aller Bemühungen bin ich nicht zum Ziel gekommen. Vielleicht versuche ich es noch mal und berichte dann darüber.


Voraussetzungen

Ich setze jetzt voraus, dass 

  • ein Android SDK, 
  • Eclipse und 
  • das Android-Plugin für Eclipse 

vorhanden sind.
Man sollte also in der Lage sein mit Eclipse eine einfache Hello-World-App zu erzeugen und zu starten.

Phonegap muss auch installiert und konfiguriert sein. Die folgenden Anweisungen sollten also funktionieren:
phonegap create simple de.mydom.simple Simple
cd simple
phonegap build android


Der Import

Man kann jetzt das im vorhergehenden Schritt erzeugte Projekt Simple mit Eclipse über das Menü mit 'File:Import:General:Existing Projects into Workspace' importieren. Importiert wird aus dem Unterverzeichnis android des Phonegap-Projektes, das wird im vorhergehenden Schritt erzeugt haben.

Nach dem Import findet man im Projekt den Ordner src.mydom.simple, der eine Java-Datei enthält, die vor Fehlermeldungen nur so strotzt. Genutzte Klassen wie CordovaActivity sind unbekannt und müssen noch bekannt gemacht werden.


Unbekannte Klassen

Die Meldungen über unbekannte Klassen verschwinden, wenn man  per Rechtsklick auf das Projekt Simple in 'Properties:Build Path:Configure Build Path' den Reiter 'Libraries' wählt und dann die über 'Add External Jars...' die Datei classes.jar aus dem Unterverzeichnis
  ./platforms/android/CordovaLib/ant-build
unseres Phonegap-Projektes einbindet.


Ordner für Quelldateien

Fehlerfrei ist das Projekt noch nicht: der src- under der gen-Ordner enthalten Quelldateien. Jedoch sind die Ordner noch nicht als Ordner für Quelldateien konfiguriert. Dazu wählt man in 'Properties: Configure Build Path' den Reiter 'Source' aus und entfernt zunächst den Projektordner. Mit 'Add Folder' fügt man dann src und gen hinzu. Das Ergebnis sollte wie abgebildet aussehen.





Die richtige Reihenfolge

In einem letzten Schritt muss im Menü 'Configure Build Path' der Reiter 'Order and Export' bearbeitet werden. Mit der Standardreihenfolge kommen wir nicht weit: Das Projekt wird zwar übersetzt, wirft aber Fehler bei der Ausführung. Die Reihenfolge muss so wie in der Abbildung sein.


Bitte nicht nur die Reihenfolge beachten: Wenn man etwas auswählt, wird der Haken in der zugehörigen Chekckbox entfernt. Achtet darauf, dass die Haken wie abgebildet gesetzt sind.

Fazit

Das Projekt ist fehlerfrei und kann gestartet werden. Diese Anleitung bezieht sich - wie bereits erwähnt - auf die Phonegap Version 4.1. In älteren Versionen läuft das teilweise ganz anders und auch in künftigen Versionen kann der Prozess sich natürlich ändern - sonst würde es ja auch langweilig. Wie wäre es mal mit einem Phonegap-Plugin? 

Insgesamt ist der Setup eine erhebliche Einstiegshürde: Dieser Artikel sah ursprünglich ganz anders aus. Als ich dann ein paar Wochen später mit Hilfe meines eigenen Artikels ein Projekt starten wollte, hat es nicht funktioniert. Ich weiss bis jetzt nicht, ob meine Beschreibung fehlerhaft war, oder ob sich an Cordova/Apache etwas geändert hat.

Ich kenne Leute, die nicht mit Eclipse, sondern mit Netbeans entwickeln. Hier soll der Zugang einfacher sein. Ausprobiert habe ich das nicht nicht. Allerdings habe ich schon Versuche mit Android Studio, der neuen offiziellen Entwicklungsumgebung für Android, durchgeführt. Hier sieht es derzeit wohl so aus, dass Cordova sich nicht integrieren lässt - aber auch das kann sich natürlich ändern.

Keine Kommentare:

Kommentar veröffentlichen