Open Source im professionellen Einsatz
Linux-Magazin 04/2011
1242

Fertig: Ab ins Testfeld

Der Qt Creator schickt die fertige App zum Simulator, indem der Entwickler ihn im Ziel-Umschalter als aktives Target auswählt. Ein Klick auf »Run« gibt den Startschuss für den Buildvorgang. In der Voreinstellung simuliert der Creator ein N900. Im Erfolgsfall zeigt er im Simulator das Programm ähnlich wie in Abbildung 3 an.

Abbildung 3: Die Beispiel-App »TimePic« legt einen erfolgreichen Testlauf im Simulator hin. Der Testlauf dient auch dazu, Tippfehler im Code oder nicht passende Bibliotheken zu finden.

Der Simulator kann keine Fotos aufnehmen. Der Testlauf ist dennoch wichtig, etwa um Tippfehler im Code oder nicht passende Bibliotheken bereits vor dem Einsatz auf dem Gerät zu erkennen. Ist der Simulator aktiv, bietet das komplexe Fenster »Qt Simulator Control« vielfältige Möglichkeiten, sein Verhalten zu beeinflussen. Für die ersten Schritte belässt es der Entwickler bei den Voreinstellungen, die die von »TimePic« benutzte rückseitige Kamera simuliert.

Zielgerät N900
vorbereiten

Auf die aktuell verfügbaren Firmware-Updates (PR 1.3 oder neuer) machte der N900-Programm-Manager den N900-Besitzer vermutlich bereits aufmerksam. Falls noch nicht geschehen, verhilft Nokias Howto "How do I use my device to update?" zum erfolgreichen Update [11]. Die aktuelle N900-Firmware-Version haben Qt 4.7 und Qt Mobility bereits an Bord, was die Installation von Meego und das umständliche Booten per Micro-SDHC-Card erspart.

Zentral ist die Installation des Programms Mad-Developer. Er ist im Menü über »App Manager | Download | Development | mad-developer« zu erreichen und erlaubt später eine SSH-Verbindung zwischen Entwicklungsrechner und N900, um die App zu übertragen.

Die Auswahl »Developer Password« zeigt die IP-Adresse und das aktuell gültige SSH-Passwort: Die IP ist standardmäßig 192.168.2.15 (in 255.255.255.0). Sie ändert sich aber auf Wunsch durch Klick auf »Edit | Configure« in der USB-Zeile. Das Passwort ist automatischen Ursprungs und nur so lange gültig, wie der Dialog (Abbildung 5) im Mad-Developer geöffnet ist.

Abbildung 5: Der SSH-Zugriff über das angegebene Passwort ist möglich, solange dieser Dialog geöffnet bleibt.

Auf dem N900 ist die Verfügbarkeit von Qt Mobility 1.1 sicherzustellen. Gegebenenfalls legt der Entwickler nach, wozu das Paket »rootsh« nötig ist, das die Anmeldung als Superuser erlaubt. In »Programs« ist sodann »X Terminal« zu starten, um ein Konsolenfenster für die manuelle Installation zu erhalten:

sudo gainroot
apt-get install libqtm-11-*

Falls Apt das Paket »libqtm-11-*« nicht findet, schafft ein zusätzliches Repository Abhilfe:

sudo gainroot
echo "deb http://repository.maemo.org/U
extras-devel/ fremantle-1.3 free U non-free" >> /etc/apt/sources.list.d/U hildon-application-manager.list
apt-get update

Nun sollte Apt entweder (als Error) das korrekte Vorhandensein der Qt-Mobility-Bibliotheken melden oder um die Bestätigung zur Installation bitten.

Damit QML die API-Sammlung benutzen kann, sind folgende symbolische Links nötig:

ln -s /opt/qtm11/imports/QtMobility U
  /usr/lib/qt4/imports/QtMobility
ln -s /opt/qtm11/imports/QtMultimediaKit U
  /usr/lib/qt4/imports/QtMultimediaKit

Das Konsolenfenster hat nun seinen Dienst getan, der Dialog des Mad-Developer sollte aber offen bleiben. Ist es bereits zu spät, genügt ein erneutes Anklicken von »Developer Password«, um die SSH-Verbindung mit einem neuen Passwort zu ermöglichen. Die Verbindung zwischen N900 und Entwicklerrechner übernimmt ein USB-Kabel.

Um die App auf echte Geräte zu schicken, sind weitere Schritte nötig: Das N900 braucht ein Firmware-Update und das Programm Mad-Developer (Kasten "Zielgerät N900 vorbereiten"). Das Netbook als Zielgerät bedarf des neuesten Meego und auf Seiten des Entwicklerrechners des Helferleins Mad-Admin (Kasten "Zielgerät Netbook vorbereiten"). Die Meego-Seite [12] listet die von Meego unterstützten Zielgeräte, auf denen die App laufen sollte.

Zielgerät Netbook
vorbereiten

Die Installation von Meego auf dem Netbook [8] unterscheidet sich nicht sehr von der Installation jeder anderen Linux-Distribution [9]. Aber aus dem Meego-SDK [10] benötigt der App-Entwickler zusätzlich MADDE (Meego Application Develop und Debug Environment). MADDE stellt mit dem Mad-Admin ein Tool bereit, das ihn beim Herunterladen und Installieren der so genannten Targets unterstützt. Diese Targets bieten dem Qt Creator eine Toolchain an - genau wie im Fall des N900. Der Creator kann nun mit angepassten Projekteinstellungen im »meego-sdk-creator« das N900-Projekt laden. Der Klick auf »Run« kompiliert die Applikation wie gewohnt, überträgt sie auf das Netbook und startet sie dort.

Vorsicht: Die Qt-Mobility-API-Integration in der Meego-1.1-Netbook-Release (Stand November 2010) ist nicht vollständig abgeschlossen. Bei Schwierigkeiten könnte daher schon ein Update auf die neueste Meego-Trunk-Version oder ein Blick auf das für Frühjahr 2011 angekündigte Meego 1.2 helfen.

Das wahre Leben

Zum N900 führen im Target »Maemo« der Button »Run« und dort der blaue Link »Manage device configurations«. Im erscheinenden »Options«-Dialog schafft der Entwickler per »Add«-Button eine neue Konfiguration, die passenderweise N900 heißen sollte. Den auf »Key« voreingestellten Authentifizierungstyp stellt er auf »Password« um. Die dafür benötigte Zeichenfolge zeigt der auf dem N900 installierte Mad-Developer an. Der »Test«-Button prüft nun die Verbindung - ist alles in Ordnung, hat der Optionendialog ausgedient.

Nahe am Ziel wählt der App-Schöpfer - zurück auf der »Run«-Seite - jetzt im Feld »Deploy to Device« das eben angelegte N900 aus. Im Ziel-Umschalter sucht er sich »Maemo« als aktives Ziel aus, allerdings mit »Release«-Build statt des vorgegebenen »Debug«-Modus. Gespannt klickt er wieder auf »Run«.

Das SDK baut nun ein Maemo-5-Projekt, erzeugt daraus ein Debian-Paket und kopiert es über die SSH-Verbindung auf das N900. Da der Dialog »Developer Password« bei korrekter Vorbereitung auf dem N900 noch geöffnet ist, erlaubt das Gerät SSH-Zugriffe. Nach dem Kopieren installiert das SDK das neue Programmpaket auf dem N900 und startet es.

Herzlichen Glückwunsch! Wer mit der rückseitigen Kamera des N900 nun ein Ziel anvisiert und über die blaue Schaltfläche »Capture Next Photo« ein Bild schießt, sieht in den beiden vormals roten Anzeigezeilen den Namen der erzeugten Bilddatei und den Text des von der C++-Klasse eingetragenen Zeitstempels auftauchen. Das Output-Fenster des Creator freut sich ebenfalls am Erfolg seines Benutzers, wenn die letzten Zeilen Ausgabe ähnlich wie folgt lauten:

Capturing a photo with ISO 0
Image captured!
Image saved!
Image time stamp saved as Fri Jan 14 U 13:58:40 2011
Geschafft: Die erste hybride App ist erfolgreich getestet und installiert. Wer mag, nutzt sie künftig als Basis für eigene Projekte. (ake)

Geschafft: Die erste hybride App ist erfolgreich getestet und installiert. Wer mag, nutzt sie künftig als Basis für eigene Projekte. (ake)

Infos

[1] Tim Schürmann, "Nokias Hausmarke": Linux-Magazin 10/09, S. 120

[2] Qt Quick: [http://doc.qt.nokia.com/4.7/qtquick.html]

[3] Qt SDK 1.1 Preview:[http://labs.qt.nokia.com/2011/01/20/qt-sdk-1-1-technology-preview-released/]

[4] Referenz QML-Elemente: [http://doc.qt.nokia.com/4.7/qdeclarativeelements.html]

[5] Referenz Item-Elemente: [http://doc.qt.nokia.com/4.7/qml-item.html]

[6] Qt auf Gitorious: [http://qt.gitorious.org/qt-mobility/qt-mobility/blobs/1.1/plugins/declarative/multimedia]

[7] Animationen: [http://doc.qt.nokia.com/4.7/qdeclarativeanimation.html]

[8] Meego für Netbooks: [http://meego.com/downloads/releases/netbook]

[9] Meego-Installationsanleitung:[http://meego.com/devices/netbook/installing-meego-your-netbook]

[10] Meego SDK: [http://wiki.meego.com/SDK/Docs/1.1/Getting_started_with_the_MeeGo_SDK_for_Linux]

[11] N900-Update: [http://europe.nokia.com/support/download-software/device-software-update/faq#faq1]

[12] Meego-Hardware:[http://meego.com/devices/netbook/supported-hardware-platforms]

Die Autoren

Der Diplom-Informatiker Jeremias Bosch arbeitet seit 2009 bei der Darmstädter Basyskom GmbH als Qt Software Consultant. Er koordiniert eine internationale Arbeitsgruppe für Firefox Mobile auf Meego und leitet das Peregrine-Team.

Der Trierer Karl-Heinz Zimmer war Starwriter-Entwickler in der Star Division und Senior Developer in der Klarälvdalens Datakonsult AB. Heute koordiniert er als Senior Qt Consultant der Basyskom GmbH ein Nokia-Forschungsteam.

Diesen Artikel als PDF kaufen

Express-Kauf als PDF

Umfang: 7 Heftseiten

Preis € 0,99
(inkl. 19% MwSt.)

Linux-Magazin kaufen

Einzelne Ausgabe
 
Abonnements
 
TABLET & SMARTPHONE APPS
Bald erhältlich
Get it on Google Play

Deutschland

Ähnliche Artikel

comments powered by Disqus

Stellenmarkt

Artikelserien und interessante Workshops aus dem Magazin können Sie hier als Bundle erwerben.