Android-APK-Pakete

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