Erstellen eines APK-Pakets
Um ein APK-Paket zu erstellen, verwenden Sie den ADT-Befehl „package“. Setzen Sie dabei den Zieltyp auf
apk
für Veröffentlichungsbuilds, auf
apk-debug
für Debugbuilds oder auf
apk-emulator
für Builds im Veröffentlichungsmodus, die auf einem Emulator ausgeführt werden.
adt -package
-target apk
-storetype pkcs12 -keystore ../codesign.p12
myApp.apk
myApp-app.xml
myApp.swf icons
Geben Sie den gesamten Befehl in einer einzelnen Zeile ein; die Zeilenumbrüche im obigen Beispiel dienen lediglich der besseren Lesbarkeit. Im Beispiel wird davon ausgegangen, dass der Pfad zum ADT-Werkzeug in der Pfaddefinition Ihrer Befehlszeilen-Shell enthalten ist. (Weitere Informationen finden Sie unter
Pfadumgebungsvariablen
.)
Sie müssen den Befehl von dem Verzeichnis aus, in dem sich die Anwendungsdateien befinden, ausführen. Die Anwendungsdateien im Beispiel heißen „myApp-app.xml“ (die Anwendungsdeskriptordatei), „myApp.swf“; außerdem gibt es einen Ordner für Symbole, „icons“.
Wenn Sie den Befehl wie dargestellt ausführen, werden Sie von ADT aufgefordert, das Keystore-Kennwort einzugeben. (Die Zeichen, die Sie für das Kennwort eingeben, werden nicht angezeigt; drücken Sie einfach die Eingabetaste, wenn Sie alle Zeichen eingegeben haben.)
Hinweis:
Standardmäßig haben alle AIR Android-Anwendungen das
air.
-Präfix im Paketnamen. Um dieses Standardverhalten zu beenden, legen Sie die Umgebungsvariable auf
AIR_NOANDROIDFLAIR
auf
true
auf Ihrem Computer fest.
Erstellen eines APK-Pakets für eine Anwendung, die native Erweiterungen verwendet
Um ein APK-Paket für eine Anwendung, die native Erweiterungen verwendet, zu erstellen, fügen Sie neben den üblichen Verpackungsoptionen die
-extdir
-Option hinzu. Im Falle von mehreren ANE-Dateien, die Ressourcen/Bibliotheken gemeinsam nutzen, wählt die ADT eine einzelne Ressource/Bibliothek und ignoriert andere doppelte Einträge, bevor eine Warnung ausgegeben wird. Diese Option gibt den Ordner an, der die von der Anwendung verwendeten ANE-Dateien enthält. Zum Beispiel:
adt -package
-target apk
-storetype pkcs12 -keystore ../codesign.p12
myApp.apk
myApp-app.xml
-extdir extensionsDir
myApp.swf icons
Erstellen eines APK-Pakets, das eine eigene Version der AIR-Laufzeitumgebung beinhaltet
Um ein APK-Paket zu erstellen, das sowohl die Anwendung als auch eine gekoppelte Version der AIR-Laufzeitumgebung enthält, verwenden Sie das Ziel
apk-captive-runtime
. Diese Option gibt den Ordner an, der die von der Anwendung verwendeten ANE-Dateien enthält. Zum Beispiel:
adt -package
-target apk-captive-runtime
-storetype pkcs12 -keystore ../codesign.p12
myApp.apk
myApp-app.xml
myApp.swf icons
Mögliche Nachteile dieser Methode lauten wie folgt:
-
Wichtige Sicherheits-Fixes stehen Benutzern nicht automatisch zur Verfügung, wenn Adobe einen neuen Sicherheits-Patch herausgibt
-
Höherer Arbeitsspeicherbedarf
Hinweis:
Wenn Sie die Laufzeitumgebung bündeln, fügt ADT die Berechtigungen
INTERNET
und
BROADCAST_STICKY
zu Ihrer Anwendung hinzu. Diese Berechtigungen werden von der AIR-Laufzeitumgebung benötigt.
Erstellen eines APK-Debugpakets
Um eine Anwendungsversion zu erstellen, die Sie mit einem Debugger verwenden können, geben Sie „apk-debug“ als Ziel an und legen Sie Verbindungsoptionen fest:
adt -package
-target apk-debug
-connect 192.168.43.45
-storetype pkcs12 -keystore ../codesign.p12
myApp.apk
myApp-app.xml
myApp.swf icons
Der -connect-Kennzeichner teilt der AIR-Laufzeitumgebung auf dem Gerät mit, wo über das Netzwerk eine Verbindung zu einem Remote-Debugger hergestellt werden kann. Zum Debuggen über USB müssen Sie stattdessen den
-listen
-Kennzeichner angeben und dabei den TCP-Port zur Verwendung für die Debug-Verbindung festlegen:
adt -package
-target apk-debug
-listen 7936
-storetype pkcs12 -keystore ../codesign.p12
myApp.apk
myApp-app.xml
myApp.swf icons
Für die meisten Debug-Funktionen müssen Sie auch die SWF- und SWC-Dateien der Anwendung mit aktiviertem Debugging kompilieren. Unter
Debugger-Verbindungsoptionen
finden Sie eine umfassende Beschreibung der
-connect
und
-listen
-Kennzeichner.
Hinweis:
Standardmäßig verpackt ADT eine gekoppelte Kopie der AIR-Laufzeit mit Ihrer Android-App beim Verpacken der App mit dem apk-debug-Ziel. Um den ADT zum Erstellen eines APK, das eine externe Lauftzeitumgebung verwendet, zu zwingen, setzen Sie die
AIR_ANDROID_SHARED_RUNTIME
-Umgebungsvariable auf
true
.
Unter Android benötigt die App auch die Berechtigung für den Zugriff auf das Internet, damit über das Netzwerk eine Verbindung zu dem Computer, auf dem der Debugger ausgeführt wird, hergestellt werden kann. Siehe
Android-Berechtigungen
.
Erstellen eines APK-Pakets zur Verwendung auf einem Android-Emulator
Auf einem Android-Emulator können Sie ein APK-Debug-Paket verwenden, aber kein Paket im Veröffentlichungsmodus. Um ein APK-Paket im Veröffentlichungsmodus zu erstellen, das auf einem Emulator verwendet werden kann, verwenden Sie den ADT-Befehl „package“ und legen Sie den Zieltyp als
apk-emulator
fest:
adt -package -target apk-emulator -storetype pkcs12 -keystore ../codesign.p12 myApp.apk myApp-app.xml myApp.swf icons
In diesem Beispiel wird davon ausgegangen, dass das ADT-Werkzeug in der Pfaddefinition Ihrer Befehlszeilen-Shell enthalten ist. (Weitere Informationen finden Sie unter
Pfadumgebungsvariablen
.)
Erstellen eines APK-Pakets aus einer AIR- oder AIRI-Datei
Sie können ein APK-Paket direkt aus einer vorhandenen AIR- oder AIRI-Datei erstellen:
adt -target apk -storetype pkcs12 -keystore ../codesign.p12 myApp.apk myApp.air
Die AIR-Datei muss in der Anwendungsdeskriptordatei den AIR 2.5-Namespace (oder höher) verwenden.
Erstellen eines APK-Pakets für die Android-x86-Plattform
Ab AIR 14 kann das Argument
-arch
verwendet werden, um eine APK-Datei für die Android x86-Plattform zu verpacken. Zum Beispiel:
adt -package
-target apk-debug
-listen 7936
-arch x86
-storetype pkcs12 -keystore ../codesign.p12
myApp.apk
myApp-app.xml
myApp.swf icons