APK パッケージの作成
APK パッケージを作成するには、ADT パッケージコマンドを使用します。ターゲットのタイプは、リリースビルドの場合は
apk
、デバッグビルドの場合は
apk-debug
、エミュレーター上で実行するためのリリースモードビルドの場合は
apk-emulator
に設定します。
adt -package
-target apk
-storetype pkcs12 -keystore ../codesign.p12
myApp.apk
myApp-app.xml
myApp.swf icons
コマンド全体を 1 行で入力します。上記の例では、コマンドをわかりやすくするために改行を使用しました。実際には改行を使用しません。また、この例では、ADT ツールへのパスがコマンドラインシェルのパス定義に従っていることを前提としています(
PATH 環境変数
を参照してください)。
アプリケーションファイルが含まれているディレクトリからコマンドを実行する必要があります。この例で使用されているアプリケーションファイルは、myApp-app.xml(アプリケーション記述ファイル)、myApp.swf および icons ディレクトリです。
上に示したコマンドを実行するとき、ADT によって、キーストアパスワードの入力を求めるプロンプトが表示されます(入力するパスワードの文字は表示されません。入力が完了したら Enter キーを押します)。
注意:
デフォルトでは、すべての AIR Android アプリケーションのパッケージ名に
air.
という接頭辞が付けられます。このデフォルトの動作を使用しないようにするには、コンピューターで環境変数
AIR_NOANDROIDFLAIR
を
true
に設定します。
ネイティブ拡張を使用するアプリケーション用の APK パッケージの作成
ネイティブ拡張を使用するアプリケーション用の APK パッケージを作成するには、通常のパッケージングオプションに加えて
-extdir
オプションを指定します。複数の ANE でリソースとライブラリを共有する場合、ADT では単一のリソースとライブラリのみを選択し、その他の重複エントリを無視します。その後で警告を発行します。このオプションでは、アプリケーションで使用する ANE ファイルを含むディレクトリを指定します。次に、例を示します。
adt -package
-target apk
-storetype pkcs12 -keystore ../codesign.p12
myApp.apk
myApp-app.xml
-extdir extensionsDir
myApp.swf icons
独自バージョンの AIR ランタイムを含む APK パッケージの作成
アプリケーションと AIR ランタイムのキャプティブバージョンの両方を含む APK パッケージを作成するには、
apk-captive-runtime
ターゲットを使用します。このオプションでは、アプリケーションで使用する ANE ファイルを含むディレクトリを指定します。次に、例を示します。
adt -package
-target apk-captive-runtime
-storetype pkcs12 -keystore ../codesign.p12
myApp.apk
myApp-app.xml
myApp.swf icons
この方法には次の欠点があります。
注意:
ランタイムをバンドルすると、ADT によって
INTERNET
権限と
BROADCAST_STICKY
権限がアプリケーションに追加されます。これらの権限は、AIR ランタイムで必要とされます。
デバッグ APK パッケージの作成
デバッガーで使用できるアプリケーションのバージョンを作成するには、apk-debug をターゲットとして使用し、接続オプションを指定します。
adt -package
-target apk-debug
-connect 192.168.43.45
-storetype pkcs12 -keystore ../codesign.p12
myApp.apk
myApp-app.xml
myApp.swf icons
-connect フラグは、デバイス上の AIR ランタイムに対して、ネットワーク経由でリモートデバッガーへ接続するための場所をを伝えます。USB 経由でデバッグするには、
-listen
フラグを代わりに使用し、デバッグ接続に使用する TCP ポートを指定する必要があります。
adt -package
-target apk-debug
-listen 7936
-storetype pkcs12 -keystore ../codesign.p12
myApp.apk
myApp-app.xml
myApp.swf icons
また、ほとんどのデバッグ機能を動作させるために、デバッグを有効にして、アプリケーション SWF と SWC をコンパイルする必要があります。
-connect
フラグおよび
-listen
フラグについて詳しくは、
デバッガー接続のオプション
を参照してください。
注意:
デフォルトで、ADT は Android アプリケーションで AIR ランタイムのキャプティブコピーをパッケージ化し、apk-debug ターゲットを使用してアプリケーションをパッケージ化します。ADT が外部ランタイムを使用する APK を強制的に作成するようにするには、
AIR_ANDROID_SHARED_RUNTIME
環境変数を
true
に設定します。
Android では、ネットワーク経由でデバッガーを実行しているコンピューターに接続するアプリケーションには、インターネットへのアクセス権限も必要です。
Android 権限
を参照してください。
Android エミュレーターで使用する APK パッケージの作成
Android エミュレーターではデバッグ APK パッケージを使用できますが、リリースモードのパッケージを使用することはできません。エミュレーターで使用するリリースモードの APK パッケージを作成するには、ADT package コマンドを使用し、ターゲットの種類を
apk-emulator
に設定します。
adt -package -target apk-emulator -storetype pkcs12 -keystore ../codesign.p12 myApp.apk myApp-app.xml myApp.swf icons
この例では、ADT ツールへのパスがコマンドラインシェルのパス定義に従っていることを前提としています(
PATH 環境変数
を参照してください)。
AIR または AIRI ファイルからの APK パッケージの作成
既存の AIR または AIRI ファイルから、直接 APK パッケージを作成できます。
adt -target apk -storetype pkcs12 -keystore ../codesign.p12 myApp.apk myApp.air
AIR ファイルは、アプリケーション記述ファイル内で AIR 2.5(またはそれ以降)の名前空間を使用する必要があります。
Android x86 プラットフォーム用の APK パッケージの作成
AIR 14 以降では、引数
-arch
を使用して Android x86 プラットフォーム用の APK をパッケージ化できます。次に、例を示します。
adt -package
-target apk-debug
-listen 7936
-arch x86
-storetype pkcs12 -keystore ../codesign.p12
myApp.apk
myApp-app.xml
myApp.swf icons