vorfinden.
ADT-Fehlermeldungen
Leider sind die Fehlermeldungen des ADT nicht immer sehr vielsagend, weswegen es mitunter einiger Versuche bedarf, um diesen Schritt erfolgreich zu absolvieren. Häufig vorkommende Fehlermeldungen:
no such file
Eine in der Befehlszeile angegebene Datei wurde nicht gefunden.
error 303: Icon is missing from package
Sie haben in der Anwendungsbeschreibungsdatei ein Icon angegeben, es aber nicht als Dateinamen in der Befehlszeile angegeben.
error 202: Icon is unsupported format
Die angegebene Datei entspricht nicht dem benötigten Format (AIR akzeptiert nur das Format PNG, kein GIF oder JPEG).
error 103: is an unexpected element/attribute In die Beschreibungsdatei hat sich ein Element oder Attribut eingeschlichen, das dort nicht hineingehört. Das kann auch durch einen einfachen Schreibfehler (z. B. minimumPatchlevel statt minimumPatchLevel ) hervorgerufen werden.
error 100: application descriptor cannot be parsed
Die Anwendungsbeschreibungsdatei weist Fehler auf. Dieser Fehler taucht meistens auf, wenn die Datei keine gültige XML-Datei ist. Achten Sie auf einzelne Sonderzeichen wie das kaufmännische Und ( & ), die Sie als XML-Entities (z. B. & ) einfügen müssen. Alternativ können Sie auch Text wie in unserem Beispiel in einen -Block einschließen, um diese Problematik zu umgehen.
4.2.2 Signieren der digitalen Visitenkarte
Wie bereits einführend erläutert, erfordert AIR zwingend die Signatur einer Anwendung. Auch dafür ist im AIR SDK das AIR Development Tool zuständig. Ich möchte mich in diesem einführenden kurzen Beispiel erst einmal darauf beschränken, ein einmaliges, selbst signiertes Zertifikat zu erstellen.
Erzeugen eines selbst signierten Zertifikats
Für die Erzeugung eines selbst signierten Zertifikats rufen Sie ADT mit dem Parameter -certificate wie folgt auf:
adt -certificate -cn [-ou ] [-c ]
Auch hier bedeuten die spitzen Klammern, dass Sie hierfür einen Wert einsetzen müssen, eckige Klammern deuten auf eine optionale Eingabe hin. Geben Sie also für Ihr Beispielzertifikat Folgendes ein (der Pfad bis hin zum ADT wurde in diesem Fall weggelassen):
adt -certificate -cn MeinZertifikat 2048-RSA MyCert.p12 my#pass1
Der Parameter 2048-RSA steht dabei für die Stärke der Verschlüsselung, das Kennwort schränkt die Verwendung des Zertifikats zur Verschlüsselung ein. Da das Programm nun einen komplexen digitalen Code erzeugt, kann es etwas dauern, bis der Cursor in der Befehlszeile wiederkehrt (Linux-Anwender wissen in einem solchen Fall die Ausführung im Hintergrund zu schätzen). Wenn alles gut verlaufen ist, sollte in Ihrem Projektverzeichnis anschließend eine Datei namens MyCert.p12 liegen – vorausgesetzt, Sie haben diesen Dateinamen vorher verwendet und den Befehl vom Projektverzeichnis aus ausgeführt.
Signieren der vorbereiteten .airi-Datei
Nun haben wir alles, was wir brauchen: ein digitales Zertifikat und die vorbereitete Anwendung. Jetzt bringen wir beides zusammen, indem wir erneut ADT verwenden, diesmal mit dem Parameter -sign :
adt -sign -storetype -keystore
Für unser Beispiel sieht das folgendermaßen aus:
adt -sign -storetype pkcs12 -keystore MyCert.p12 air-dvk.airi air-dvk.air
Wenn Sie bei der Erstellung des Zertifikats ein Kennwort angegeben haben, werden Sie aufgefordert, dieses anzugeben. Nach diesem Schritt finden Sie, wenn alles glattgegangen ist, eine Datei mit dem Namen air-dvk.air in Ihrem Projektverzeichnis.
Gratulation, Sie haben soeben Ihre erste AIR-Anwendung fertiggestellt! Abschließend sollten Sie die Anwendung auf einem Computer zur Probe installieren und nachsehen, ob Sie auch keine Dateien (insbesondere Grafiken) einzubinden vergessen haben (was bei einem so übersichtlichen Projekt schwierig zu bewerkstelligen wäre).
Abbildung 4.9 AIR-Installationsdialog bei selbstsigniertem Zertifikat
In Abbildung 4.9 sehen Sie einen typischen Installationsdialog für eine Anwendung, die mit einem selbst signierten Zertifikat erstellt wurde. Gegenüber den ersten Alpha- und Beta-Versionen hat Adobe das Erscheinungsbild etwas verändert, sodass die roten Kreuzchen, die auf die nicht festgestellte Identität des Veröffentlichers und den uneingeschränkten