Der Befehl
-package-
sollte vom Hauptanwendungsordner aus ausgeführt werden. Der Befehl verwendet die folgende Syntax:
Ein AIR-Paket aus den Komponentenanwendungsdateien erstellen:
adt -package
AIR_SIGNING_OPTIONS
-target packageType
-sampler
‑hideAneLibSymbols
NATIVE_SIGNING_OPTIONS
output
app_descriptor
FILE_OPTIONS
Ein natives Paket aus den Komponentenanwendungsdateien erstellen:
adt -package
AIR_SIGNING_OPTIONS
-target packageType
DEBUGGER_CONNECTION_OPTIONS
-airDownloadURL URL
NATIVE_SIGNING_OPTIONS
output
app_descriptor
-platformsdk path
FILE_OPTIONS
Ein natives Paket, das eine native Erweiterung enthält, aus den Komponentenanwendungsdateien erstellen:
adt -package
AIR_SIGNING_OPTIONS
-migrate MIGRATION_SIGNING_OPTIONS
-target packageType
DEBUGGER_CONNECTION_OPTIONS
-airDownloadURL URL
NATIVE_SIGNING_OPTIONS
output
app_descriptor
-platformsdk path
FILE_OPTIONS
Ein natives Paket aus einer AIR- oder AIRI-Datei erstellen:
adt -package
-target packageType
NATIVE_SIGNING_OPTIONS
output
input_package
Erstellen Sie ein natives Erweiterungspaket aus den nativen Komponentenerweiterungsdateien:
adt -package
AIR_SIGNING_OPTIONS
-target ane
output
ANE_OPTIONS
Hinweis:
Sie brauchen eine ANE-Datei nicht zu signieren, deshalb sind die
AIR_SIGNING_OPTIONS
-Parameter in diesem Beispiel optional.
AIR_SIGNING_OPTIONS
Die AIR-Signaturoptionen identifizieren das Zertifikat, mit dem eine AIR-Installationsdatei signiert wird. Die Signaturoptionen werden unter
ADT-Optionen zum Signieren von Code
ausführlich beschrieben.
-migrate
Dieses Flag gibt an, dass die Anwendung neben dem in den
AIR_SIGNING_OPTIONS
-Parametern festgelegten Zertifikat mit einem Migrationszertifikat signiert wurde. Dieses Flag ist nur gültig, wenn Sie eine Desktopanwendung als natives Installationsprogramm komprimieren und die Anwendung eine native Erweiterung verwendet. In anderen Fällen tritt ein Fehler auf. Die Signaturoptionen für das Migrationszertifikat sind als
MIGRATION_SIGNING_OPTIONS
-Parameter festgelegt. Diese Signaturoptionen werden unter
ADT-Optionen zum Signieren von Code
ausführlich beschrieben. Mithilfe des
-migrate
-Flags können Sie ein Update für eine als natives Installationsprogramm verpackte Anwendung erstellen, die eine native Erweiterung verwendet, und das Codesignaturzertifikat für die Anwendung ändern, z. B. wenn das Originalzertifikat abläuft. Weitere Informationen finden Sie unter
Signieren einer aktualisierten Version einer AIR-Anwendung
.
Das
-migrate
-Flag des Befehls
-package
ist in AIR 3.6 und höher verfügbar.
-target
Der Typ des zu erstellenden Pakets. Die folgenden Pakettypen werden unterstützt:
-
air – ein AIR-Paket. Der Standardwert ist „air“ und der -target-Kennzeichner muss nicht angegeben werden, wenn Sie AIR- oder AIRI-Dateien erstellen.
-
airn – ein natives Anwendungspaket für Geräte im erweiterten TV-Profil.
-
ane – ein natives AIR-Erweiterungspaket
-
Ziele von Android-Paketen:
-
apk – ein Android-Paket. Ein mit diesem Ziel erstelltes Paket kann nur auf einem Android-Gerät, nicht auf einem Emulator installiert werden.
-
apk‑captive‑runtime – ein Android-Paket, das sowohl die Anwendung als auch die gekoppelte Version der AIR-Laufzeitumgebung enthält. Ein mit diesem Ziel erstelltes Paket kann nur auf einem Android-Gerät, nicht auf einem Emulator installiert werden.
-
apk-debug – ein Android-Paket mit zusätzlichen Debugging-Informationen. (Die SWF-Dateien in der Anwendung müssen ebenfalls mit Debugging-Unterstützung kompiliert werden.)
-
apk-emulator – ein Android-Paket zur Verwendung mit einem Emulator ohne Debugging-Unterstützung. (Verwenden Sie das apk-debug-Ziel, um das Debugging sowohl auf dem Emulator als auch auf Geräten zuzulassen.)
-
apk-profile – ein Android-Paket, das Anwendungsleistung und Speicherprofilerstellung unterstützt.
-
Ziele von iOS-Paketen:
-
ipa-ad-hoc – ein iOS-Paket für die Ad-hoc-Verteilung.
-
ipa-app-store – ein iOS-Paket zur Bereitstellung im Apple App Store.
-
ipa-debug – ein iOS-Paket mit zusätzlichen Debugging-Informationen. (Die SWF-Dateien in der Anwendung müssen ebenfalls mit Debugging-Unterstützung kompiliert werden.)
-
ipa-test – ein iOS-Paket, das ohne Optimierungs- oder Debugging-Informationen kompiliert wurde.
-
ipa-debug-interpreter – entspricht von der Funktion her einem debug-Paket, die Kompilierung ist jedoch schneller. Der ActionScript-Bytecode wird interpretiert und nicht in Computercode übersetzt. Deshalb wird der Code langsamer ausgeführt als in einem interpreter-Paket.
-
ipa-debug-interpreter-simulator – entspricht von der Funktion her ipa-debug-interpreter, wird jedoch für den iOS Simulator verpackt. Nur für Macintosh. Wenn Sie diese Option verwenden, müssen Sie auch die Option -platformsdk einschließen, um den Pfad zum iOS Simulator SDK anzugeben.
-
ipa-test-interpreter – entspricht von der Funktion her einem test-Paket, die Kompilierung ist jedoch schneller. Der ActionScript-Bytecode wird interpretiert und nicht in Computercode übersetzt. Deshalb wird der Code langsamer ausgeführt als in einem interpreter-Paket.
-
ipa-test-interpreter-simulator – entspricht von der Funktion her ipa-test-interpreter, wird jedoch für den iOS Simulator verpackt. Nur für Macintosh. Wenn Sie diese Option verwenden, müssen Sie auch die Option -platformsdk einschließen, um den Pfad zum iOS Simulator SDK anzugeben.
-
native – ein natives Desktopinstallationsprogramm. Der Typ der produzierten Datei ist das native Installationsformat des Betriebssystems, auf dem der Befehl ausgeführt wird:
Weitere Informationen finden Sie unter
Komprimieren eines nativen Desktopinstallationsprogramms
.
-sampler
(nur iOS, AIR 3.4 und höher) Aktiviert den telemetriegestützten ActionScript-Sampler in iOS-Anwendungen. Wenn Sie dieses Flag verwenden, können Sie die Anwendung mit Adobe Scout profilieren. Zwar kann
Scout
alle Flash-Plattform-Inhalte profilieren, durch die Aktivierung ausführlicher Telemetrie erhalten Sie jedoch tiefen Einblick in ActionScript-Funktionstiming, DisplayList, Stage3D-Rendern und mehr. Beachten Sie, dass die Verwendung dieses Kennzeichners sich leicht negativ auf die Leistung auswirkt; Sie sollten ihn also nicht für Produktionsanwendungen einsetzen.
-hideAneLibSymbols
(nur iOS, AIR 3.4 und höher) Anwendungsentwickler können mehrere native Erweiterungen aus mehreren Quellen verwenden. Wenn die ANE-Dateien einen Symbolnamen gemeinsam verwenden, generiert das ADT einen Fehler („doppeltes Symbol in Objektdatei“). Unter Umständen kann sich dieser Fehler zur Laufzeit als Absturz bemerkbar machen. Mit der
hideAneLibSymbols
-Option können Sie angeben, ob die Symbole der ANE-Bibliothek nur für die Quellen dieser Bibliothek sichtbar sein sollen („yes“) oder global sichtbar sein sollen („no“):
-
yes
– Verbirgt ANE-Symbole, wodurch unbeabsichtigte Symbolkonflikte gelöst werden.
-
no
– (Standardvorgabe) Verbirgt ANE-Symbole nicht. Dies ist das Verhalten aus Versionen vor AIR 3.4.
-embedBitcode
(nur iOS, AIR 25 und höher) App-Entwickler können die Option
embedBitcode
verwenden, um anzugeben, ob Bitcode in die iOS-App eingebettet werden soll, indem sie „Ja“ oder „Nein“ wählen. Der Standardwert dieses Schalters bei fehlender Angabe ist „Nein“.
DEBUGGER_CONNECTION_OPTIONS
Die Debugger-Verbindungsoptionen geben an, ob ein Debug-Paket versuchen soll, eine Verbindung zu einem Remote-Debugger auf einem anderen Computer herzustellen, oder ob es auf eine Verbindung von einem Remote-Debugger warten soll. Dieser Optionssatz wird zurzeit nur für mobile Debug-Pakte unterstützt (Ziele apk-debug und ipa-debug). Diese Optionen werden unter
Debugger-Verbindungsoptionen
beschrieben.
-airDownloadURL
Gibt eine alternative URL zum Herunterladen und Installieren der AIR-Laufzeitumgebung auf Android-Geräten an. Wird diese Option nicht angegeben, leitet die AIR-Anwendung den Benutzer zur AIR-Laufzeitumgebung auf dem Android Market, falls die Laufzeitumgebung noch nicht installiert ist.
Wenn Ihre Anwendung auf anderem Wege (nicht über den von Google verwalteten Android Market) verteilt wird, müssen Sie ggf. die URL zum Herunterladen der AIR-Laufzeitumgebung von diesem alternativen Markt angeben. Einige alternative Märkte lassen es nicht zu, dass Anwendungen einen Download von außerhalb des jeweiligen Markts erfordern. Diese Option wird nur für Android-Pakete unterstützt.
NATIVE_SIGNING_OPTIONS
Die nativen Signaturoptionen identifizieren das Zertifikat, das zum Signieren einer nativen Paketdatei verwendet wird. Mit diesen Signaturoptionen wird eine Signatur angewendet, die vom nativen Betriebssystem, nicht von der AIR-Laufzeitumgebung verwendet wird. Davon abgesehen sind die Optionen identisch mit den AIR_SIGNING_OPTIONS und werden ausführlich unter
ADT-Optionen zum Signieren von Code
beschrieben.
Native Signaturen werden unter Windows und Android unterstützt. Unter Windows sollten sowohl AIR-Signaturoptionen als auch native Signaturoptionen angegeben werden. Unter Android genügt es, nur die nativen Signaturoptionen anzugeben.
In vielen Fällen können Sie dasselbe Codesignaturzertifikat verwenden, um eine AIR-Signatur und eine native Signatur anzuwenden. Dies ist jedoch nicht immer der Fall. Die Google-Richtlinie zum Übermitteln von Apps an den Android Market sieht zum Beispiel vor, dass alle Apps mit einen Zertifikat signiert werden, das mindestens bis zum Jahr 2033 gültig ist. Das bedeutet, dass ein Zertifikat einer bekannten Zertifizierungsstelle, die für das Anwenden einer AIR-Signatur empfohlen wird, nicht zum Signieren einer Android-App verwendet werden sollte. (Keine Zertifizierungsstelle gibt Codesignaturzertifikate mit einer derart langen Gültigkeitsdauer aus.)
output
Der Name der zur erstellenden Paketdatei. Die Angabe der Dateierweiterung ist optional. Wenn keine angegeben ist, wird eine Erweiterung hinzugefügt, die zum -target-Wert und zum aktuellen Betriebssystem passt.
app_descriptor
Der Pfad zur Anwendungsdeskriptordatei. Der Pfad kann relativ zum aktuellen Verzeichnis oder als absoluter Pfad angegeben werden. (Die Anwendungsdeskriptordatei wird in der AIR-Datei in
application.xml
umbenannt.)
-platformsdk
Der Pfad zum Plattform-SDK für das Zielgerät:
-
Android – Das AIR SDK ab Version 2.6 enthält die Werkzeuge aus dem Android SDK, die zum Implementieren der relevanten ADT-Befehle erforderlich sind. Legen Sie diesen Wert nur fest, um eine andere Version des Android SDK zu verwenden. Das Plattform-SDK muss nicht in der Befehlszeile angegeben werden, wenn bereits die Umgebungsvariable AIR_ANDROID_SDK_HOME gesetzt wurde. (Falls beide angegeben werden, wird der in der Befehlszeile angegebene Pfad verwendet.)
-
iOS – Das AIR SDK wird mit einem gekoppelten iOS SDK geliefert. Mit der Option -platformsdk können Sie Anwendungen mit einem externen SDK verpacken, sodass Sie nicht auf die Verwendung des gekoppelten iOS SDK angewiesen sind. Wenn Sie zum Beispiel eine Erweiterung mit dem neuesten iOS SDK erstellt haben, können Sie dieses SDK angeben, wenn Sie Ihre Anwendung verpacken. Außerdem müssen Sie bei Verwendung von ADT mit dem iOS Simulator immer die Option -platformsdk mit einschließen, um dem Pfad zum iOS Simulator SDK anzugeben.
-arch
-Anwendungsentwickler können dieses Argument verwenden, um die APK-Datei für x86-Plattformen zu erstellen und müssen folgende Werte verwenden:
armv7 ist der Standardwert, wenn kein Wert angegeben wird
FILE_OPTIONS
Identifiziert die Anwendungsdateien, die in das Paket eingeschlossen werden sollen. Die Dateioptionen werden ausführlich unter
Datei- und Pfadoptionen
beschrieben. Geben Sie keine Dateioptionen an, wenn Sie ein natives Paket aus einer AIR- oder AIRI-Datei erstellen.
input_airi
Geben Sie dies an, wenn Sie ein natives Paket aus einer AIRI-Datei erstellen. Die AIR_SIGNING_OPTIONS sind erforderlich, wenn das Ziel
air
ist (oder kein Ziel angegeben wird).
input_air
Geben Sie dies an, wenn Sie ein natives Paket aus einer AIR-Datei erstellen. Geben Sie keine AIR_SIGNING_OPTIONS an.
ANE_OPTIONS
Identifiziert die Optionen und Dateien zum Erstellen eines nativen Erweiterungspakets. Die Optionen für Erweiterungspakete sind unter
Optionen für native Erweiterungen
vollständig beschrieben.
Beispiele für -package-ADT-Befehle
Paketspezifische Anwendungsdateien im aktuellen Verzeichnis für eine SWF-basierte AIR-Anwendung:
adt –package -storetype pkcs12 -keystore cert.p12 myApp.air myApp.xml myApp.swf components.swc
Paketspezifische Anwendungsdateien im aktuellen Verzeichnis für eine HTML-basierte AIR-Anwendung:
adt –package -storetype pkcs12 -keystore cert.p12 myApp.air myApp.xml myApp.html AIRAliases.js image.gif
Komprimieren aller Dateien und Unterverzeichnisse im aktuellen Arbeitsverzeichnis:
adt –package -storetype pkcs12 -keystore ../cert.p12 myApp.air myApp.xml .
Hinweis:
Die Keystore-Datei enthält den privaten Schlüssel, mit dem die Anwendung signiert wurde. Geben Sie das signierende Zertifikat niemals innerhalb des AIR-Pakets an! Wenn Sie Platzhalter im ADT-Befehl verwenden, speichern Sie die Keystore-Datei an einer anderen Adresse, sodass sie nicht in das Paket aufgenommen wird. In diesem Beispiel befindet sich die Keystore-Datei „cert.p12“ im übergeordneten Verzeichnis.
Komprimieren der Hauptdateien und eines images-Unterverzeichnisses:
adt –package -storetype pkcs12 -keystore cert.p12 myApp.air myApp.xml myApp.swf images
Komprimieren einer HTML-basierten Anwendung und aller Dateien in den HTML-, scripts- und images-Unterverzeichnissen:
adt –package -storetype pkcs12 -keystore cert.p12 myApp.air myApp.xml index.html AIRALiases.js html scripts images
Komprimieren der Datei „application.xml“ und der Haupt-SWF im Arbeitsverzeichnis (release/bin):
adt –package -storetype pkcs12 -keystore cert.p12 myApp.air release/bin/myApp.xml –C release/bin myApp.swf
Komprimieren von Beständen von mehreren Speicheradressen in Ihrem Dateisystem. In diesem Beispiel befinden sich die Anwendungsbestände vor dem Komprimieren in den folgenden Ordnern:
/devRoot
/myApp
/release
/bin
myApp-app.xml
myApp.swf or myApp.html
/artwork
/myApp
/images
image-1.png
...
image-n.png
/libraries
/release
/libs
lib-1.swf
lib-2.swf
lib-a.js
AIRAliases.js
Die Ausführung des folgenden ADT-Befehls vom Verzeichnis „/devRoot/myApp“:
adt –package -storetype pkcs12 -keystore cert.p12 myApp.air release/bin/myApp-app.xml
–C release/bin myApp.swf (or myApp.html)
–C ../artwork/myApp images
–C ../libraries/release libs
Führt zur folgenden Paketstruktur:
/myAppRoot
/META-INF
/AIR
application.xml
hash
myApp.swf or myApp.html
mimetype
/images
image-1.png
...
image-n.png
/libs
lib-1.swf
lib-2.swf
lib-a.js
AIRAliases.js
Führen Sie ADT als ein Java-Programm für eine einfache SWF-basierte Anwendung aus (ohne den Klassenpfad festzulegen):
java –jar {AIRSDK}/lib/ADT.jar –package -storetype pkcs12 -keystore cert.p12 myApp.air myApp.xml myApp.swf
Führen Sie ADT als ein Java-Programm für eine einfache HTML-basierte Anwendung aus (ohne den Klassenpfad festzulegen):
java –jar {AIRSDK}/lib/ADT.jar –package -storetype pkcs12 -keystore cert.p12 myApp.air myApp.xml myApp.html AIRAliases.js
Führen Sie ADT als Java-Programm aus (mit Java-Klassenpfadeinstellung, die das ADT.jar-Paket enthält):
java -com.adobe.air.ADT –package -storetype pkcs12 -keystore cert.p12 myApp.air myApp.xml myApp.swf
Führen Sie ADT als Java-Task in Apache Ant aus (obwohl es normalerweise am besten ist, den ADT-Befehl direkt in Ant-Skripten zu verwenden). Die im Beispiel genannten Pfade gelten für Windows:
<property name="SDK_HOME" value="C:/AIRSDK"/>
<property name="ADT.JAR" value="${SDK_HOME}/lib/adt.jar"/>
target name="package">
<java jar="${ADT.JAR}" fork="true" failonerror="true">
<arg value="-package"/>
<arg value="-storetype"/>
<arg value="pkcs12"/>
<arg value="-keystore"/>
<arg value="../../ExampleCert.p12"/>
<arg value="myApp.air"/>
<arg value="myApp-app.xml"/>
<arg value="myApp.swf"/>
<arg value="icons/*.png"/>
</java>
</target>
Hinweis:
Bei einigen Computersystemen können Doppel-Byte-Zeichen in den Dateisystempfaden falsch interpretiert werden. Versuchen Sie in diesem Fall, die zum Ausführen von ADT verwendete JRE so einzustellen, dass der UTF-8-Zeichensatz verwendet wird. Auf dem Mac und unter Linux erfolgt dies standardmäßig im Skript, mit dem ADT gestartet wird. In der Windows-adt.bat-Datei oder beim Ausführen von ADT direkt aus Java legen Sie die Option
-Dfile.encoding=UTF-8
in der Java-Befehlszeile fest.