Polecenie package narzędzia ADT

Polecenie -package powinno być uruchamiane z poziomu głównego katalogu aplikacji. W tym poleceniu jest stosowana następująca składnia:

Aby utworzyć pakiet AIR ze składowych plików aplikacji:

adt -package 
    AIR_SIGNING_OPTIONS 
    -target packageType 
    -sampler 
    ‑hideAneLibSymbols 
    NATIVE_SIGNING_OPTIONS 
    output 
    app_descriptor 
    FILE_OPTIONS 

Aby utworzyć pakiet natywny ze składowych plików aplikacji:

adt -package 
    AIR_SIGNING_OPTIONS 
    -target packageType 
    DEBUGGER_CONNECTION_OPTIONS 
    -airDownloadURL URL 
    NATIVE_SIGNING_OPTIONS 
    output 
    app_descriptor 
    -platformsdk path 
    FILE_OPTIONS 

Aby utworzyć pakiet natywny zawierający rozszerzenie natywne ze składowych plików aplikacji:

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 

Aby utworzyć pakiet natywny z pliku AIR lub AIRI:

adt -package 
    -target packageType 
    NATIVE_SIGNING_OPTIONS 
    output 
    input_package

Aby utworzyć pakiet rozszerzenia natywnego ze składowych plików rozszerzenia natywnego:

adt -package 
    AIR_SIGNING_OPTIONS     
    -target ane 
    output 
    ANE_OPTIONS
Uwaga: Nie trzeba podpisywać pliku ANE, więc parametry AIR_SIGNING_OPTIONS są opcjonalne w tym przykładzie.

AIR_SIGNING_OPTIONS Opcje podpisywania środowiska AIR określają certyfikat używany do podpisywania pliku instalacyjnego środowiska AIR. Opcje podpisywania zostały w pełni opisane w sekcji Opcje podpisywania kodu ADT .

-migrate Ta flaga powoduje podpisanie aplikacji przy użyciu certyfikatu migracji dodatkowo do certyfikatu określonego w parametrach AIR_SIGNING_OPTIONS . Ta flaga jest prawidłowa tylko w przypadku pakowania aplikacji komputerowej jako instalatora natywnego, gdy aplikacja korzysta z rozszerzenia natywnego. W innych sytuacjach występuje błąd. Opcje podpisywania dotyczące certyfikatu migracji są określone przez parametry MIGRATION_SIGNING_OPTIONS . Te opcje podpisywania są w pełni opisane w rozdziale Opcje podpisywania kodu ADT . Za pomocą flagi -migrate można utworzyć aktualizację dla aplikacji komputerowej z instalatorem natywnym, która korzysta z rozszerzenia natywnego, a także zmienić certyfikat podpisu kodu tej aplikacji (na przykład w razie wygaśnięcia oryginalnego certyfikatu). Więcej informacji można znaleźć w rozdziale Podpisywanie zaktualizowanej wersji aplikacji AIR .

Flaga -migrate polecenia -package jest dostępna w środowisku AIR 3.6 lub nowszym.

-target Typ pakietu, który ma zostać utworzony. Obsługiwane typy pakietów:
  • air — pakiet AIR. Wartość „air” jest wartością domyślną, a flaga -target nie musi zostać określona podczas tworzenia plików AIR i AIRI.

  • airn — macierzysty pakiet aplikacji przeznaczony dla urządzeń w rozszerzonym profilu telewizyjnym.

  • ane — pakiet natywnego rozszerzenia środowiska AIR.

  • Elementy docelowe pakietu Android:

    • apk — pakiet systemu Android. Pakiet utworzony w tym formacie docelowym można zainstalować wyłącznie na urządzeniu z systemem Android, a nie w emulatorze.

    • apk‑captive‑runtime — pakiet systemu Android zawierający zarówno aplikację, jak i dołączoną wersję środowiska wykonawczego AIR. Pakiet utworzony w tym formacie docelowym można zainstalować wyłącznie na urządzeniu z systemem Android, a nie w emulatorze.

    • apk-debug — pakiet systemu Android z dodatkowymi informacjami o debugowaniu. (Pliki SWF w aplikacji muszą być również skompilowane z włączoną obsługą debugowania).

    • apk-emulator — pakiet systemu Android przeznaczony do użytku w emulatorze bez obsługi debugowania. (W celu umożliwienia debugowania zarówno w emulatorach, jak i na urządzeniach należy użyć formatu docelowego apk-debug).

    • apk-profile — pakiet systemu Android, który obsługuje profilowanie pamięci i wydajności aplikacji.

  • Elementy docelowe pakietu iOS:

    • ipa-ad-hoc — pakiet systemu iOS przeznaczony do szybkiego rozpowszechniania.

    • ipa-app-store — pakiet systemu iOS przeznaczony do rozpowszechniania w sklepie App Store firmy Apple.

    • ipa-debug — pakiet systemu iOS z dodatkowymi informacjami o debugowaniu. (Pliki SWF w aplikacji muszą być również skompilowane z włączoną obsługą debugowania).

    • ipa-test — pakiet systemu iOS skompilowany bez informacji o optymalizacji czy debugowaniu.

    • ipa-debug-interpreter — odpowiednik pakietu debugowania oferujący podobne funkcje oraz szybszą kompilację. Kod bajtowy ActionScript jest interpretowany, a nie przekształcany w kod maszynowy. Oznacza to, że wykonywanie kodu przebiega wolniej w przypadku pakietu z interpreterem.

    • ipa-debug-interpreter-simulator — działa analogicznie do opcji ipa-debug-interpreter, ale pakiet jest przygotowywany do symulatora systemu iOS. Tylko dla komputerów Macintosh. W przypadku użycia tej opcji należy również dodać opcję -platformsdk określającą ścieżkę do zestawu SDK symulatora systemu iOS.

    • ipa-test-interpreter — odpowiednik pakietu testowania oferujący podobne funkcje oraz szybszą kompilację. Kod bajtowy ActionScript jest interpretowany, a nie przekształcany w kod maszynowy. Oznacza to, że wykonywanie kodu przebiega wolniej w przypadku pakietu z interpreterem.

    • ipa-test-interpreter-simulator — działa analogicznie do opcji ipa-test-interpreter, ale pakiet jest przygotowywany dla symulatora systemu iOS. Tylko dla komputerów Macintosh. W przypadku użycia tej opcji należy również dodać opcję -platformsdk określającą ścieżkę do zestawu SDK symulatora systemu iOS.

  • native — macierzysty instalator komputera stacjonarnego. Plik jest tworzony przy użyciu typu będącego natywnym formatem instalacyjnym systemu operacyjnego, w którym jest wykonywane polecenie:

    • EXE — Windows

    • DMG — Mac

    • DEB — Ubuntu Linux (AIR 2.6 i starsze wersje)

    • RPM — Fedora albo OpenSuse Linux (AIR 2.6 i starsze wersje)

    Więcej informacji zawiera rozdział Pakowanie instalatora natywnego dla komputerów .

-sampler (Tylko w systemie iOS i środowisku AIR 3.4 lub nowszym) Umożliwia użycie w aplikacjach systemu iOS opartego na telemetrii próbnika języka ActionScript. Użycie tej flagi pozwala na określenie profilu aplikacji za pomocą oprogramowania Adobe Scout. Program Scout pozwala na utworzenie profilu dowolnej zawartości dla platformy Flash, ale włączenie szczegółowej telemetrii umożliwia dogłębną analizę czasu wywoływania funkcji języka ActionScript, listy wyświetlania, renderowania obiektu Stage3D i innych elementów. Uwaga: Użycie tej flagi może spowodować nieznaczny spadek wydajności. Nie należy jej stosować w aplikacjach produkcyjnych.

-hideAneLibSymbols (tylko w systemie iOS i środowisku AIR 3.4 lub nowszym) Programiści aplikacji mają możliwość używania wielu rozszerzeń natywnych z wielu źródeł. Jeśli pliki ANE mają wspólną nazwę symboli, program ADT wyświetla komunikat o błędzie powielonego symbolu. W niektórych przypadkach błąd ten może nawet spowodować awarię programu w środowisku wykonawczym. Za pomocą opcji hideAneLibSymbols można określić, czy symbole biblioteki ANE mają być widoczne tylko dla źródeł danej biblioteki (parametr yes), czy mają być widoczne globalnie (parametr no).

  • yes — Ukrywa wszystkie symbole ANE, co pozwala rozwiązać niezamierzone problemy z konfliktem symboli.

  • no — (Parametr domyślny) Nie ukrywa symboli ANE. Jest to zachowanie występujące w środowisku AIR w wersji starszej niż 3.4.

Opcja -embedBitcode (tylko dla systemu iOS, środowisko AIR w wersji 25 lub nowszej) Za pomocą opcji embedBitcode programiści aplikacji mogą określić, czy kod bitowy ma być osadzony w ich aplikacji dla systemu iOS, wybierając wariant tak lub nie. Wartość domyślna przełącznika to nie.

DEBUGGER_CONNECTION_OPTIONS Opcje połączenia debugera określają, czy pakiet debugowania powinien próbować połączyć się ze zdalnym debugerem uruchomionym na innym komputerze, czy wykrywać połączenie nawiązywane przez zdalny debuger. Ten zestaw opcji jest obsługiwany wyłącznie w przypadku pakietów debugowania dla urządzeń przenośnych (formaty docelowe apk-debug i ipa-debug). Te opcje są opisane w rozdziale Opcje połączenia debugera .

-airDownloadURL Określa alternatywny adres URL przeznaczony do pobierania i instalowania środowiska wykonawczego AIR na urządzeniach z systemem Android. Jeśli ta opcja nie została określona i nie zainstalowano jeszcze środowiska wykonawczego AIR, aplikacja AIR przekieruje użytkownika do środowiska wykonawczego w sklepie Android Market.

Jeśli aplikacja jest rozpowszechniana za pośrednictwem sklepu innego niż sklep Android Market zarządzany przez firmę Google, wówczas może być konieczne określenie adresu URL w celu pobrania środowiska wykonawczego AIR z tego sklepu. Niektóre alternatywne sklepy nie pozwalają aplikacjom na pobieranie spoza danego sklepu. Ta opcja jest obsługiwana wyłącznie w przypadku pakietów Android.

NATIVE_SIGNING_OPTIONS Opcje podpisywania natywnego określają certyfikat użyty do podpisania pliku pakietu natywnego. Te opcje podpisywania są stosowane w celu zastosowania podpisu używanego przez macierzysty system operacyjny, a nie przez środowisko wykonawcze AIR. Poza tym te opcje są takie same jak opcje AIR_SIGNING_OPTIONS. Dokładnie opisano je w sekcji Opcje podpisywania kodu ADT .

Podpisy macierzyste są obsługiwane zarówno w systemie Windows, jak i Android. W systemie Windows należy określić zarówno opcje podpisywania środowiska AIR, jak i opcje podpisywania macierzystego. W systemie Android można określić wyłącznie opcje podpisywania macierzystego.

W wielu przypadkach można używać tego samego certyfikatu podpisywania do zastosowania zarówno podpisu środowiska AIR, jak i podpisu macierzystego. Jednak nie zawsze jest to prawdą. Na przykład według zasad firmy Google dla aplikacji przesyłanych do sklepu Android Market wszystkie takie aplikacje muszą być podpisane za pomocą certyfikatu ważnego co najmniej do roku 2033. Oznacza to, że do podpisywania aplikacji Android nie powinien być używany certyfikat wystawiony przez dobrze znany ośrodek certyfikacji, wybrany z ośrodków zalecanych w przypadku stosowania podpisu środowiska AIR. (Żadne ośrodki certyfikacji nie wystawiają certyfikatu podpisywania kodu o tak długim okresie ważności).

output Nazwa pliku pakietu, który ma zostać utworzony. Określenie rozszerzenia pliku jest opcjonalne. Jeśli nie zostało ono określone, zostaje dodane rozszerzenie odpowiednie dla wartości -target i aktualnego systemu operacyjnego.

app_descriptor Ścieżka do pliku deskryptora aplikacji. Ścieżka może zostać określona względem katalogu bieżącego lub jako ścieżka bezwzględna. (W pliku AIR nazwa pliku deskryptora aplikacji zostaje zmieniona na application.xml ).

-platformsdk — ścieżka platformy zestawu SDK dla urządzenia docelowego:
  • Android — zestaw SDK środowiska AIR 2.6+ zawiera narzędzia z zestawu SDK systemu Android wymagane do implementowania odpowiednich poleceń narzędzia ADT. Tę wartość należy ustawiać wyłącznie w celu użycia innej wersji zestawu SDK systemu Android. Ścieżka zestawu SDK platformy nie musi być podawana w wierszu poleceń, jeśli ustawiono już zmienną środowiskową AIR_ANDROID_SDK_HOME. (W przypadku ustawienia obu tych funkcji jest używana ścieżka podana w wierszu poleceń).

  • iOS — zestaw SDK środowiska AIR jest dostarczany w pakiecie z zestawem SDK dla systemu iOS. Opcja -platformsdk umożliwia pakowanie aplikacji z zewnętrznym zestawem SDK, aby wyeliminować ograniczenie związane z używaniem spakowanego razem z aplikacją zestawu SDK dla systemu iOS. Jeśli na przykład opracowano rozszerzenie przy użyciu najnowszego zestawu SDK dla systemu iOS, można wskazać ten zestaw SDK podczas pakowania aplikacji. Oprócz tego w przypadku używania narzędzia ADT z symulatorem systemu iOS należy zawsze dołączyć opcję -platformsdk, aby podać ścieżkę do zestawu SDK symulatora systemu iOS.

-arch Programista aplikacji może za pomocą tego argumentu utworzyć pakiet APK dla platform x86. Są dostępne dwie wartości:

  • armv7 — Program ADT pakuje plik APK dla platformy Android armv7.

  • x86— Program ADT pakuje plik APK dla platformy Android x86.

Gdy nie jest określona żadna wartość, jest domyślnie przyjmowane ustawienie armv7.

FILE_OPTIONS Określa pliki aplikacji, które mają zostać dołączone do pakietu. Opcje plików są szczegółowo opisane w sekcji Opcje plików i ścieżek . Podczas tworzenia macierzystego pakietu z pliku AIR lub AIRI nie należy określać opcji plików.

input_airi Ten element należy określić w przypadku tworzenia pakietu natywnego z pliku AIRI. Opcje AIR_SIGNING_OPTIONS są wymagane, jeśli format docelowy to air (lub nie określono żadnego formatu docelowego).

input_air Ten element należy określić w przypadku tworzenia pakietu natywnego z pliku AIR. Nie należy określać opcji AIR_SIGNING_OPTIONS.

ANE_OPTIONS Określa opcje i pliki przeznaczone do tworzenia pakietu rozszerzenia natywnego. Opcje pakietu rozszerzenia są w pełni opisane w sekcji Opcje rozszerzeń natywnych .

Przykłady poleceń dotyczących pakietu ADT

Pakowanie plików aplikacji w bieżącym katalogu dla aplikacji AIR opartych na SWF:

adt –package -storetype pkcs12 -keystore cert.p12 myApp.air myApp.xml myApp.swf components.swc

Pakowanie plików aplikacji w bieżącym katalogu dla aplikacji AIR opartych na HTML:

adt –package -storetype pkcs12 -keystore cert.p12 myApp.air myApp.xml myApp.html AIRAliases.js image.gif

Pakowanie wszystkich plików i podkatalogów w bieżącym katalogu roboczym:

adt –package -storetype pkcs12 -keystore ../cert.p12 myApp.air myApp.xml .
Uwaga: Plik magazynu kluczy zawiera klucz prywatny używany do podpisania aplikacji. Nigdy nie należy umieszczać certyfikatu podpisującego w pakiecie AIR! Jeśli w komendzie ADT używane są znaki wieloznaczne, plik magazynu kluczy należy umieścić w innej lokalizacji, tak aby nie został dołączony do pakietu. W tym przykładzie plik magazynu kluczy cert.p12 znajduje się w katalogu nadrzędnym.

Pakowanie tylko plików głównych i podkatalogu images:

adt –package -storetype pkcs12 -keystore cert.p12 myApp.air myApp.xml myApp.swf images

Pakowanie aplikacji HTML oraz wszystkich plików HTML, skryptów i podkatalogów images:

adt –package -storetype pkcs12 -keystore cert.p12 myApp.air myApp.xml index.html AIRALiases.js html scripts images

Pakowanie pliku application.xml oraz głównego pliku SWF znajdującego się w katalogu roboczym(release/bin):

adt –package -storetype pkcs12 -keystore cert.p12 myApp.air release/bin/myApp.xml –C release/bin myApp.swf 

Pakowanie zasobów z więcej niż jednego miejsca w systemie plików kompilacji. W tym przykładzie przed pakowaniem zasoby aplikacji znajdują się następujących folderach:

/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

Uruchomienie poniższego polecenia ADT z katalogu /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

Powoduje utworzenie następującej struktury pakietu:

/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

Uruchamianie ADT jako programu Java dla prostej aplikacji opartej na SWF (bez ustawiania ścieżki klasy):

java –jar {AIRSDK}/lib/ADT.jar –package -storetype pkcs12 -keystore cert.p12 myApp.air myApp.xml myApp.swf 

Uruchamianie ADT jako programu Java dla prostej aplikacji opartej na HTML (bez ustawiania ścieżki klasy):

java –jar {AIRSDK}/lib/ADT.jar –package -storetype pkcs12 -keystore cert.p12 myApp.air myApp.xml myApp.html AIRAliases.js

Uruchamianie ADT jako programu Java (ze ścieżką klasy Java ustawioną w taki sposób, aby zawierała pakiet ADT.jar):

java -com.adobe.air.ADT –package -storetype pkcs12 -keystore cert.p12 myApp.air myApp.xml myApp.swf 

Uruchom narzędzie ADT jako zadanie Java za pomocą biblioteki Apache Ant. (Przeważnie optymalne jest uruchomienie polecenia narzędzia ADT bezpośrednio w skryptach biblioteki Ant). Ścieżki podane w poniższym przykładzie dotyczą systemu 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>
Uwaga: W niektórych systemach znaki dwubajtowe w ścieżkach systemu plików mogą zostać nieprawidłowo zinterpretowane. W takiej sytuacji należy spróbować skonfigurować środowisko JRE używane do uruchamiania narzędzia ADT w taki sposób, aby był stosowany zestaw znaków UTF-8. Domyślnie służy do tego skrypt używany do uruchamiania narzędzia ADT na komputerach Mac i na komputerach z systemem Linux. Opcję -Dfile.encoding=UTF-8 należy określić w wierszu poleceń środowiska Java w pliku adt.bat systemu Windows lub podczas uruchamiania narzędzia ADT bezpośrednio w środowisku Java.