ActionScript コンパイラー

ActionScript および MXML コードは、AIR アプリケーションに含める前にコンパイルする必要があります。Adobe Flash Builder または Adobe Flash Professional などの統合開発環境(IDE)を使用する場合、IDE がバックグラウンドでコンパイルを処理します。ただし、IDE を使用しない場合またはビルドスクリプトを使用する場合は、コマンドラインから ActionScript コンパイラーを呼び出して、SWF ファイルを作成することもできます。

Flex SDK の AIR コマンドラインツール

Adobe AIR アプリケーションの作成に使用するコマンドラインツールは、それぞれに対応するアプリケーション構築用のツールを呼び出します。

  • amxmlc は mxmlc を呼び出してアプリケーションクラスをコンパイルします。

  • acompc は compc を呼び出してライブラリとコンポーネントのクラスをコンパイルします。

  • aasdoc は asdoc を呼び出してソースコードのコメントからドキュメントファイルを生成します。

ユーティリティの Flex バージョンと AIR バージョンの唯一の違いは、AIR バージョンが air-config.xml ファイルから(flex-config.xml ファイルからではなく)設定オプションを読み込むという点です。

Flex SDK ツールおよびそれらのコマンドラインオプションについて詳しくは、Flex に関するドキュメントを参照してください。ここでは、作業の開始を支援し、Flex アプリケーションの構築と AIR アプリケーションの構築の違いを示すことを目的として、Flex SDK ツールの基本レベルの情報を記載しています。

コンパイラー設定

通常、コンパイルオプションの指定には、コマンドラインと共に 1 つ以上の設定ファイルを使用します。グローバル Flex SDK 設定ファイルには、コンパイラーの実行時に使用されるデフォルト値が含まれます。このファイルは各自の開発環境に合わせて編集できます。Flex SDK のインストール先の frameworks ディレクトリに、2 つのグローバル Flex 設定ファイルがあります。air-config.xml ファイルは、amxmlc コンパイラーの実行時に使用されます。AIR ライブラリを組み込むことによってコンパイラーを AIR 用に設定するファイルです。flex-config.xml ファイルは、mxmlc の実行時に使用されます。

デフォルト設定値は Flex と AIR の機能を確認するには適していますが、本格的なプロジェクトに着手する際は、使用できるオプションを詳しく検討してください。コンパイラーオプションについては、プロジェクト固有の値をローカル設定ファイルで指定することができます。ローカル設定ファイルの値は、所定のプロジェクトのグローバル値より優先されます。

注意: AIR アプリケーション専用のコンパイルオプションはありませんが、AIR アプリケーションをコンパイルする際は AIR ライブラリを参照する必要があります。通常、これらのライブラリは、プロジェクトレベルの設定ファイルまたは Ant などのビルドツールのファイルで参照するか、コマンドラインで直接参照します。

AIR 用 MXML および ActionScript ソースファイルのコンパイル

AIR アプリケーション用 Adobe® ActionScript® 3.0 および MXML アセットは、コマンドライン MXML コンパイラー(amxmlc)を使用してコンパイルできます(HTML ベースのアプリケーションはコンパイル不要です。SWF を Flash Professional でコンパイルする場合は、ムービーを SWF ファイルにパブリッシュするだけでコンパイルが実行されます)。

amxmlc を使用するコマンドラインの基本的な形式は次のとおりです。

amxmlc [compiler options] -- MyAIRApp.mxml

この [compiler options] には、AIR アプリケーションのコンパイルに使用するコマンドラインオプションを指定します。

amxmlc コマンドは、追加パラメーターとして +configname=air を指定して標準の Flex mxmlc コンパイラーを呼び出します。このパラメーターは、flex-config.xml ファイルではなく air-config.xml ファイルを使用するようコンパイラーに指示します。amxmlc の使用は、それ以外の点では mxmlc を使用することと変わりません。

コンパイラーで、AIR アプリケーションのコンパイルに通常必要とされる AIR ライブラリおよび Flex ライブラリを指定する、air-config.xml 設定ファイルが読み込まれます。ローカルのプロジェクトレベルの設定ファイルを使用して、グローバル設定をオーバーライドしたり、グローバル設定に追加オプションを追加したりすることもできます。通常、ローカル設定ファイルを作成するには、グローバルバージョンのコピーを編集するのが最も簡単です。ローカルファイルは、-load-config オプションを使用して読み込むことができます。

-load-config=project-config.xml グローバルオプションをオーバーライドします。

-load-config+=project-config.xml -library-path オプションなど、複数の値を指定できるグローバルオプションに追加の値を追加します。1 つの値しか指定できないグローバルオプションはオーバーライドされます。

ローカル設定ファイルに特別の名前付け規則を使用すると、amxmlc コンパイラーでローカルファイルが自動的に読み込まれます。例えば、メイン MXML ファイルが RunningMan.mxml である場合は、ローカル設定ファイルの名前を RunningMan-config.xml にします。今度は、アプリケーションをコンパイルするには、次のように入力するだけです。

amxmlc RunningMan.mxml

RunningMan-config.xml は、コンパイルする MXML ファイルとファイル名が一致するので自動的に読み込まれます。

amxmlc の例

以下の例では、amxmlc コンパイラーの使用を示します(アプリケーションの ActionScript および MXML のアセットのみ、コンパイルする必要があります)。

AIR MXML ファイルをコンパイルします。

amxmlc myApp.mxml

コンパイルして出力名を設定します。

amxmlc –output anApp.swf -- myApp.mxml

AIR ActionScript ファイルをコンパイルします。

amxmlc myApp.as

コンパイラーの設定ファイルを指定します。

amxmlc –load-config config.xml -- myApp.mxml

別の設定ファイルから追加オプションを追加します。

amxmlc –load-config+=moreConfig.xml -- myApp.mxml

コマンドラインでライブラリを追加します(設定ファイルに既に指定されているライブラリに加えます)。

amxmlc –library-path+=/libs/libOne.swc,/libs/libTwo.swc  -- myApp.mxml

設定ファイルを使用せずに AIR MXML ファイルをコンパイルします(Windows)。

mxmlc -library-path [AIR SDK]/frameworks/libs/air/airframework.swc, ^ 
[AIR SDK]/frameworks/libs/air/airframework.swc, ^ 
-library-path [Flex SDK]/frameworks/libs/framework.swc ^ 
-- myApp.mxml

設定ファイルを使用せずに AIR MXML ファイルをコンパイルします(Mac OS X または Linux)。

mxmlc -library-path [AIR SDK]/frameworks/libs/air/airframework.swc, \ 
[AIR SDK]/frameworks/libs/air/airframework.swc, \ 
-library-path [Flex 3 SDK]/frameworks/libs/framework.swc \ 
-- myApp.mxml

ランタイム共有ライブラリを使用する AIR MXML ファイルをコンパイルします。

amxmlc -external-library-path+=../lib/myLib.swc -runtime-shared-libraries=myrsl.swf -- myApp.mxml

ANE を使用する AIR MXML ファイルをコンパイルします(ANE には必ず -external-library-path を使用してください)。

amxmlc -external-library-path+=../lib/myANE.ane -output=myAneApp.swf -- myAneApp.mxml

Java からのコンパイルです(クラスパスを設定して mxmlc.jar を含めます)。

java flex2.tools.Compiler +flexlib [Flex SDK 3]/frameworks +configname=air [additional compiler options] -- myApp.mxml

flexlib オプションで Flex SDK フレームワークディレクトリの場所を指定して、コンパイラーが flex_config.xml ファイルを見つけられるようにします。

Java からのコンパイルです(クラスパスは設定しません)。

java -jar [Flex SDK 2]/lib/mxmlc.jar +flexlib [Flex SDK 3]/frameworks +configname=air [additional compiler options] -- myApp.mxml

Apache Ant を使用してコンパイラーを起動するには(mxmlc.jar を実行する Java タスクの例):

<property name="SDK_HOME" value="C:/Flex46SDK"/> 
<property name="MAIN_SOURCE_FILE" value="src/myApp.mxml"/> 
<property name="DEBUG" value="true"/> 
<target name="compile"> 
    <java jar="${MXMLC.JAR}" fork="true" failonerror="true"> 
        <arg value="-debug=${DEBUG}"/> 
        <arg value="+flexlib=${SDK_HOME}/frameworks"/> 
        <arg value="+configname=air"/> 
        <arg value="-file-specs=${MAIN_SOURCE_FILE}"/> 
    </java> 
</target>

AIR コンポーネントまたはコードライブラリのコンパイル(Flex)

コンポーネントコンパイラーの acompc を使用すると、AIR ライブラリおよび独立したコンポーネントをコンパイルできます。acompc コンポーネントコンパイラーは amxmlc コンパイラーと同じように動作しますが、次の例外があります。

  • ライブラリまたはコンポーネントに含めるコードベース内のクラスを指定する必要があります。

  • acompc は、ローカル設定ファイルを自動的に検索しません。プロジェクト設定ファイルを使用するには、–load-config オプションを使用する必要があります。

acompc コマンドは、標準の Flex compc コンポーネントコンパイラーを呼び出しますが、flex-config.xml ファイルではなく air-config.xml ファイルから設定オプションを読み込みます。

コンポーネントコンパイラーの設定ファイル

ローカル設定ファイルを使用すると、コマンドラインでソースパスおよびクラス名を入力(場合によっては誤入力)しないで済みます。ローカル設定ファイルを読み込むには、-load-config オプションを acompc コマンドラインに追加します。

次の例では、com.adobe.samples.particles パッケージの ParticleManager と Particle という 2 つのクラスを使用してライブラリを作成するための設定を示します。これらのクラスは、source/com/adobe/samples/particles フォルダーにあります。

<flex-config> 
    <compiler> 
        <source-path> 
            <path-element>source</path-element> 
        </source-path> 
    </compiler> 
    <include-classes> 
        <class>com.adobe.samples.particles.ParticleManager</class> 
        <class>com.adobe.samples.particles.Particle</class> 
    </include-classes> 
</flex-config>

ParticleLib-config.xml という設定ファイルを使用してこのライブラリをコンパイルするには、次のように入力します。

acompc -load-config ParticleLib-config.xml -output ParticleLib.swc

コマンドラインでまったく同じコマンドを実行するには、次のように入力します。

acompc -source-path source -include-classes com.adobe.samples.particles.Particle  
com.adobe.samples.particles.ParticleManager -output ParticleLib.swc

1 つの行にコマンド全体を入力するか、コマンドシェルの行継続文字を使用してください。

acompc の例

これらの例では、myLib-config.xml という設定ファイルを使用しているものとします。

AIR コンポーネントまたはライブラリをコンパイルします。

acompc -load-config myLib-config.xml -output lib/myLib.swc

ランタイム共有ライブラリをコンパイルします。

acompc -load-config myLib-config.xml -directory -output lib

注意点として、lib フォルダーは存在している必要があり、コマンドを実行する前は空である必要があります。