ADT package コマンド

-package コマンドは、メインアプリケーションディレクトリから実行する必要があります。このコマンドでは、次のシンタックスを使用します。

コンポーネントアプリケーションファイルからの AIR パッケージの作成:

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

コンポーネントアプリケーションファイルからのネイティブパッケージの作成:

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

コンポーネントアプリケーションファイルからの、ネイティブ拡張を含むネイティブパッケージの作成:

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 

AIR または AIRI ファイルからのネイティブパッケージの作成:

adt -package 
    -target packageType 
    NATIVE_SIGNING_OPTIONS 
    output 
    input_package

コンポーネントネイティブ拡張ファイルからのネイティブ拡張パッケージの作成:

adt -package 
    AIR_SIGNING_OPTIONS     
    -target ane 
    output 
    ANE_OPTIONS
注意: ANE ファイルへの署名は必須ではありません。したがって、AIR_SIGNING_OPTIONS パラメーターは、この例ではオプションです。

AIR_SIGNING_OPTIONS:この AIR 署名オプションは、AIR インストールファイルへの署名に使用される証明書を特定します。署名オプションについては、ADT コード署名のオプションで詳しく説明しています。

-migrate このフラグは、移行証明書と、AIR_SIGNING_OPTIONS パラメーターで指定した証明書を使用してアプリケーションに署名することを示します。このフラグは、デスクトップアプリケーションをネイティブインストーラーとしてパッケージ化し、アプリケーションでネイティブ拡張を使用する場合にのみ有効です。それ以外の場合は、エラーが発生します。移行証明書の署名オプションは、MIGRATION_SIGNING_OPTIONS パラメーターに指定します。署名オプションについては、ADT コード署名のオプションで詳しく説明しています。-migrate フラグを使用することで、ネイティブ拡張を使用するデスクトップネイティブインストーラーアプリケーションのアップデートを作成し、元の証明書が期限切れの場合などに、そのアプリケーションのコード署名証明書を変更できます。詳しくは、AIR アプリケーションのアップデートバージョンの署名を参照してください。

-package コマンドの -migrate フラグは、AIR 3.6 以降で使用できます。

-target:作成するパッケージのタイプです。サポートされているパッケージタイプは、以下のとおりです。
  • air:AIR パッケージです。「air」がデフォルト値です。AIR または AIRI ファイルを作成する場合は、-target フラグを指定する必要はありません。

  • airn:拡張テレビプロファイル内にあるデバイス用のネイティブアプリケーションパッケージです。

  • ane:AIR ネイティブ拡張パッケージです。

  • Android パッケージのターゲット:

    • apk:Android パッケージです。このターゲットで生成されるパッケージは、Android デバイスにのみインストールできます。エミュレーターにはインストールできません。

    • apk-captive-runtime:アプリケーションと、AIR ランタイムのキャプティブバージョンの両方を含む Android パッケージです。このターゲットで生成されるパッケージは、Android デバイスにのみインストールできます。エミュレーターにはインストールできません。

    • apk-debug:追加のデバッグ情報を含む Android パッケージです(アプリケーション内の SWF ファイルも、デバッグサポートを使用してコンパイルする必要があります)。

    • apk-emulator:デバッグサポートを使用せずにエミュレーターで使用するための Android パッケージです(エミュレーターおよびデバイス両方でデバッグを許可するには、apk-debug ターゲットを使用します)。

    • apk-profile:アプリケーションパフォーマンスおよびメモリプロファイリングをサポートする Android パッケージです。

  • iOS パッケージのターゲット:

    • ipa-ad-hoc:アドホック配布用の iOS パッケージです。

    • ipa-app-store:Apple App Store 配布用の iOS パッケージです。

    • ipa-debug:追加のデバッグ情報を含む iOS パッケージです(アプリケーション内の SWF ファイルも、デバッグサポートを使用してコンパイルする必要があります)。

    • ipa-test:最適化やデバッグ情報を含まずにコンパイルされた iOS パッケージです。

    • ipa-debug-interpreter:機能的にはデバッグパッケージと同等ですが、コンパイル時間が短くなります。ただし、ActionScript バイトコードが解釈され、マシンコードには変換されません。そのため、インタープリターパッケージではコードの実行が遅くなります。

    • ipa-debug-interpreter-simulator:機能的には ipa-debug-interpreter と同等ですが、iOS シミュレーター用にパッケージ化されています。Macintosh 専用です。このオプションを使用する場合は、iOS シミュレーター SDK のパスを指定する -platformsdk オプションも含める必要があります。

    • ipa-test-interpreter:機能的にはテストパッケージと同等ですが、コンパイル時間が短くなります。ただし、ActionScript バイトコードが解釈され、マシンコードには変換されません。そのため、インタープリターパッケージではコードの実行が遅くなります。

    • ipa-test-interpreter-simulator:機能的には ipa-test-interpreter と同等ですが、iOS シミュレーター用にパッケージ化されています。Macintosh 専用です。このオプションを使用する場合は、iOS シミュレーター SDK のパスを指定する -platformsdk オプションも含める必要があります。

  • native:ネイティブデスクトップインストーラーです。生成されるファイルのタイプは、コマンドが実行されるオペレーティングシステムのネイティブなインストールファイルの形式になります。

    • EXE - Windows

    • DMG - Mac

    • DEB - Ubuntu Linux(AIR 2.6 以前)

    • RPM — Fedora または OpenSuse Linux(AIR 2.6 以前)

    詳しくは、デスクトップネイティブインストーラーのパッケージ化を参照してください。

-sampler:(iOS のみ、AIR 3.4 以降)iOS アプリケーションでテレメトリーベースの ActionScript サンプラーを有効にします。このフラグを使用すると、Adobe Scout でアプリケーションをプロファイリングできます。Scout では、Flash Platform のどんなコンテンツでもプロファイリングできますが、詳細なテレメトリーを有効にすると、ActionScript 関数のタイミング、DisplayList、Stage3D レンダリングなどを詳しく把握できます。このフラグを使用するとパフォーマンスに少々影響があるため、製品版のアプリケーションには使用しないでください。

-hideAneLibSymbols:(iOS のみ、AIR 3.4 以降)アプリケーション開発者は、複数のソースの複数のネイティブエクステンションを使用できます。また、複数の ANE で同じシンボル名が共有されている場合、ADT では「オブジェクトファイルでシンボルが重複している」という内容のエラーが生成されます。場合によっては、このエラーにより、実行時にクラッシュが発生する可能性もあります。hideAneLibSymbols オプションを使用すると、ANE ライブラリのシンボルをそのライブラリのソースのみに表示するか(yes)グローバルに表示するか(no)を指定できます。

  • yes:ANE シンボルを非表示にします。これにより、意図しないシンボル競合の問題を解決できます。

  • no:(デフォルト)ANE シンボルを非表示にしません。これは、AIR 3.4 より前のバージョンの動作です。

-embedBitcode:(iOS のみ、AIR 25 以降)アプリケーション開発者は、embedBitcode オプションを使用して yes または no を指定することにより、ビットコードを iOS アプリケーションに埋め込むかどうかを指定できます。指定しない場合、このスイッチのデフォルト値は no です。

DEBUGGER_CONNECTION_OPTIONS:デバッガー接続オプションは、デバッグパッケージが他のコンピューターで動作しているリモートデバッガーに接続を試みるのか、リモートデバッガーからの接続を監視するのかを指定します。この一連のオプションはモバイルデバッグパッケージ(ターゲットが apk-debug および ipa-debug)でのみサポートされます。これらのオプションの説明は、デバッガー接続のオプションに記載されています。

-airDownloadURL:AIR ランタイムをダウンロードして Android デバイスにインストールするための、代替 URL を指定します。代替 URL を指定しなかった場合、AIR ランタイムがまだインストールされていないと、AIR アプリケーションはユーザーを Android Market の AIR ランタイムにリダイレクトします。

アプリケーションが代替のマーケットプレイス(Google が運営する Android Market 以外)を介して配布される場合、そのマーケットから AIR ランタイムをダウンロードするための URL の指定が必要になることがあります。代替のマーケットによっては、そのマーケットの外部からのダウンロードをアプリケーションが要求できない場合があります。このオプションは Android パッケージのみでサポートされます。

NATIVE_SIGNING_OPTIONS:このネイティブ署名オプションは、ネイティブパッケージファイルへの署名に使用される証明書を特定します。これらの署名オプションは、AIR ランタイムではなく、ネイティブオペレーティングシステムで使用される署名を適用するために使用します。その他の点では、これらのオプションは AIR_SIGNING_OPTIONS と同じです。これらの署名オプションについては、ADT コード署名のオプションで詳しく説明しています。

ネイティブ署名は、Windows および Android でサポートされています。Windows では、AIR 署名オプションとネイティブ署名オプションの両方を指定する必要があります。Android では、ネイティブ署名オプションのみを指定できます。

多くの場合、同じコード署名証明書を使用して、AIR およびネイティブ署名の両方を適用することができます。ただし、このことはすべての場合について該当するわけではありません。例えば、Android Market に送信されたアプリケーションに関する Google のポリシーでは、すべてのアプリケーションは、少なくとも 2033 年まで有効な証明書で署名されている必要があると示されています。これは、AIR 署名を適用する際に推奨される既知の証明機関によって発行された証明書を、Android アプリケーションへの署名に使用してはいけないことを意味しています(25 年間といった長期の有効期間を持つコード署名証明書を発行する証明機関はありません)。

output:作成するパッケージファイルの名前です。ファイル拡張子は、必要に応じて指定できます。指定しない場合、-target 値と現在のオペレーティングシステムに適した拡張子が付加されます。

app_descriptor:アプリケーション記述ファイルのパスです。このパスには、現在のディレクトリの相対パスか、絶対パスを指定できます(アプリケーション記述ファイルの名前は、AIR ファイルの「application.xml」に変更されます)。

-platformsdk:ターゲットデバイスのプラットフォーム SDK へのパスです。
  • Android:AIR 2.6 以降の SDK には、関連する ADT コマンドの実装に必要な Android SDK のツールが含まれています。異なるバージョンの Android SDK を使用する場合にのみ、この値を設定してください。また、AIR_ANDROID_SDK_HOME 環境変数が既に設定されている場合は、プラットフォーム SDK パスをコマンドラインで指定する必要はありません(両方とも設定されている場合、コマンドラインで指定したパスが使用されます)。

  • iOS:AIR SDK はキャプティブ iOS SDK に付属しています。-platformsdk オプションを使用すると、アプリケーションを外部 SDK と共にパッケージ化できるので、キャプティブ iOS SDK 以外の SDK も使用できるようになります。例えば、最新の iOS SDK を使用して拡張を構築した場合は、アプリケーションをパッケージ化する際にその SDK を指定できます。また、iOS シミュレーターで ADT を使用する場合は、iOS シミュレーター SDK のパスを指定する -platformsdk オプションを必ず含める必要があります。

-arch:アプリケーション開発者は、この引数を使用して x86 プラットフォーム用の APK を作成できます。使用可能な値は次のとおりです。

  • armv7:Android armv7 プラットフォーム用の ADT パッケージ APK です。

  • x86:Android x86 プラットフォーム用の ADT パッケージ APK です。

値が指定されない場合は、armv7 がデフォルト値になります。

FILE_OPTIONS:パッケージに含めるアプリケーションファイルを特定します。ファイルオプションについては、ファイルとパスのオプションで詳しく説明していますAIR または AIRI ファイルからネイティブパッケージを作成する場合は、ファイルオプションを指定しないでください。

input_airi:AIRI ファイルからネイティブパッケージを作成する場合に指定します。ターゲットが air である場合(またはターゲットが指定されていない場合)、AIR_SIGNING_OPTIONS が必須となります。

input_air:AIR ファイルからネイティブパッケージを作成する場合に指定します。AIR_SIGNING_OPTIONS は指定しないでください。

ANE_OPTIONS:ネイティブ拡張パッケージを作成するためのオプションとファイルを特定します。拡張パッケージのオプションについては、ネイティブ拡張のオプションで詳しく説明しています。

ADT -package コマンドの例

SWF ベースの AIR アプリケーションの現在のディレクトリ内にある特定のアプリケーションファイルをパッケージ化します。

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

HTML ベースの AIR アプリケーションの現在のディレクトリ内にある特定のアプリケーションファイルをパッケージ化します。

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

現在の作業ディレクトリ内にあるすべてのファイルとサブディレクトリをパッケージ化します。

adt –package -storetype pkcs12 -keystore ../cert.p12 myApp.air myApp.xml .
注意: キーストアファイルには、アプリケーションへの署名に使用する秘密キーが格納されます。署名証明書は、AIR パッケージ内に含めないでください。ADT コマンドでワイルドカードを使用した場合は、キーストアファイルは、パッケージ内に含まれないよう別の場所に配置されます。この例では、キーストアファイル cert.p12 は親ディレクトリに存在します。

メインファイルと images サブディレクトリのみパッケージ化します。

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

HTML ベースのアプリケーションと HTML、scripts、images の各サブディレクトリ内のすべてのファイルをパッケージ化します。

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

作業ディレクトリ(release/bin)内にある application.xml ファイルとメイン SWF ファイルをパッケージ化します。

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

ビルドファイルシステムの複数の場所のアセットをパッケージ化します。この例では、パッケージ化する前は、次のフォルダーにアプリケーションアセットが含まれています。

/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

/devRoot/myApp ディレクトリから次の ADT コマンドを実行します。

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

パッケージ構造は次のようになります。

/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

ADT を Java プログラムとしてシンプルな SWF ベースのアプリケーションに対して実行します(クラスパスは設定しません)。

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

ADT を Java プログラムとしてシンプルな HTML ベースのアプリケーションに対して実行します(クラスパスは設定しません)。

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

ADT を Java プログラムとして実行します(Java クラスパスを設定して、ADT.jar パッケージを含めます)。

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

Apache Ant で ADT を Java タスクとして実行します(ただし、通常は、ADT コマンドを直接 Ant スクリプト内で使用することをお勧めします)。例に示してあるパスは、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>
注意: 一部のコンピューターシステムでは、ファイルシステムパス内の 2 バイト文字が誤って解釈される場合があります。この場合、ADT の実行に使用する JRE を、UTF-8 文字セットを使用するように設定してみてください。この設定は、Mac および Linux での ADT の実行に使用するスクリプトでは、デフォルトで行われます。Windows の adt.bat ファイルの場合、または Java から直接 ADT を実行する場合は、Java コマンドラインで -Dfile.encoding=UTF-8 オプションを指定します。