-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:ネイティブデスクトップインストーラーです。生成されるファイルのタイプは、コマンドが実行されるオペレーティングシステムのネイティブなインストールファイルの形式になります。
詳しくは、
デスクトップネイティブインストーラーのパッケージ化
を参照してください。
-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)を指定できます。
-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 がデフォルト値になります。
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
オプションを指定します。