
Wer Apps für mobile Endgeräte entwickelt, wird sich das Software-Development-Kit von Android (SDK) installieren. Analoge Systeme für iOS gibt es natürlich, werden hier aber zunächst nicht diskutiert, da sich das Android-Betriebssystem für erste Schritte am besten eignet. Da wir nur hybride Apps entwickeln, benötigen wir nicht das Android-Studio mit der speziellen Eclipse-Java-IDE, sondern nur die Stand-alone SDK-Tools.
Nach der Installation mit den vorgegebenen Default-Einstellungen finden wir die SDK-Tools unter
- C:\Users\<user>\AppData\Local\Android\android-sdk\tools
Bevor man nun hektisch in diesem Ordner alle möglichen exe- oder bat-Anwendungen ausprobiert, sollte man sich auf das Programm monitor.bat beschränken. Von dort können alle wichtigen übrigen Anwendung gestartet werden.
Abb. 1: Android Device Monitor (monitor.bat) des stand-alone Android-SDK
Mit diesem Programm kann man Emulatoren, die man selbst zuvor definiert hat, starten.
Um einen Emulator zu definieren, startet man unter dem Menu-Punkt Window den
- Android Virtual Device Manager
Dort kann man sich mit dem Button Create ein oder mehrere Emulatoren auf seine Bedürfnisse zuschneiden und dann dort auch starten.
Abb. 2: Mit dem Android Virtual Device Manager definierter Emulator
Auf ein weiteres wichtiges Plugin des Android Device Monitors soll hier noch hingewiesen werden, das ebenfalls unter dem Menu Window erreichbar ist, der
- Android SDK Manager (Abb. 3)
Abb. 3: Android SDK Manager
Hier aktiviert ihr die Packages, die ihr später für das Build benötigt, um eure Apps auf eine bestimmte Bandbreite von API-Versionen zuzuschneiden.
Wenn ihr z.B. möchtet, dass die App auf einem Handy mit Android Froyo (2.2) läuft, dann müsst ihr dort die Packages für API Level 8 aktivieren. Ihr könnt euch dann dafür einen Emulator konfigurieren (Abb. 2).
Diese Levelnummer benötigt ihr auch in eurem NetBeans-Cordova-Projekt, aber dazu in folgenden Artikeln mehr.
Wenn ihr nur daran interessiert seid, Cordova (PhoneGap) - Anwendungen mit NetBeans zu erstellen, dann könnt ihr das folgende Unterkapitel auslassen. Wenn ihr etwas Zeit mitbringt, beschäftigt euch ruhig noch ein bisschen mit dem SDK-Tools.
Tipps und Tricks für das Arbeiten mit dem Andorid SDK
In Abb. 1 seht ihr oben links, dass der Android Device Monitor mit zwei Geräten verbunden ist, mit:
- einem realen Samsung-gt i5800 Handy (übrigens mit Betriebssystem Level 8) und
- einem Emulator.
Der Monitor erkennt ein reales Android-Handy automatisch, wenn es im Debug-Modus mit dem PC verbunden ist. Dies erreicht man auf dem genannten Handy z.B. über die App Einstellungen und dort weiter über die Menupunkte Anwendung / Entwicklung / USD-Debugging, das man aktivieren muss.
Um mit einem realen Handy vernünftig entwickeln zu können, muss man es rooten. Dies gilt vor allem für hybride Web-Apps, denn in der Regel will man ja mit diesen Apps auf einen Web-Server zugreifen. Dieser Web-Server läuft im lokalen Netzwerk oder WLan und dafür muss man in der hosts-Datei des Handys die IP-Adresse des Servers hinterlegen (genauso wie auf dem lokalen PC). Dies geht nur, indem man das Handy vorher rootet.
Auf dieses Problem wird hier im Artikel nicht eingegangen. Dafür gibt es Hersteller- und Versionsbezogene Anleitungen. Wie man die hosts-Datei im Emulator und im Handy ändert, ist Gegenstand eines späteren Artikels.
Um hybride Web-Apps zu entwicklen, reicht aber zunächst das Arbeiten mit Emulatoren, so dass man sich dem Problem des Testens mit realen Endgeräten später widmen kann.
Will man kommerzielle Apps entwickeln, benötigt man häufig eine ganze Batterie von realen Endgeräten mit unterschiedlichen Fähigkeiten (billige Feature-Phones bis hin zum High-End-iPhone, Geräte mit unterschiedlich leistungsstarker Sensorik (z.B. GPS), unterschiedlichen Bildschirm-Auflösungen bis hin zum Retina-Display). Für reale kommerzielle Projekte kann eine solche Testumgebung durchauch aus 15 verschiedenen Endgeräten bestehen.
Das soll aber niemanden abschrecken, mit der Entwicklung von hybriden Test-Apps zu beginnen. Am Anfang - und für diesen und alle weiteren Artikel hier - benötigt man gar kein reales Test-Handy.
Und wenn ihr Handys oder Tablets zur Verfügung haben solltet, die ihr für die Entwicklung übrig habt (nicht jeder will sein Gebrauchshandy rooten), ist mein Tipp: Nehmt die mit den ältesten Android-Betriebssystemen, die ihr finden könnt. Auf keinen Fall euer neuestes iPhone Spielzeug mit Retina und sonstigem Schnickschnack. Wer so anfängt, hat schon verloren. Ich habe schon Projekte gesehen, die deswegen in den Sand gesetzt wurden, weil das Management Ergebnisse immer nur auf dem gewohnten Lieblingsspielzeug sehen wollten - natürlich einem iPhone. Am Ende eines Projekts dann alle übrigen Geräte berücksichtigen wollen, ist unmöglich. Die einzig wahre Strategie nennt sich progressive Enhancement. Dazu bei Gelegenheit mehr.
Update: Manchmal möchte man wirklich sicher gehen, dass alle Daten eines Users oder einer App im Emulator tatsächlich gelöscht werden, z.B., wenn man das Launcher-Icon geändert hat. Hierzu gibt es die im Update des Launcher-Icon-Artikel am Ende beschriebenen Möglichkeiten.