AIR アプリケーション用 Adobe® ActionScript® 3.0 および MXML アセットは、コマンドライン MXML コンパイラー(amxmlc)を使用してコンパイルできます(HTML ベースのアプリケーションはコンパイル不要です。SWF を Flash Professional でコンパイルする場合は、ムービーを SWF ファイルにパブリッシュするだけでコンパイルが実行されます)。
コンパイラーで、AIR アプリケーションのコンパイルに通常必要とされる AIR ライブラリおよび Flex ライブラリを指定する、air-config.xml 設定ファイルが読み込まれます。ローカルのプロジェクトレベルの設定ファイルを使用して、グローバル設定をオーバーライドしたり、グローバル設定に追加オプションを追加したりすることもできます。通常、ローカル設定ファイルを作成するには、グローバルバージョンのコピーを編集するのが最も簡単です。ローカルファイルは、
-load-config
オプションを使用して読み込むことができます。
ローカル設定ファイルに特別の名前付け規則を使用すると、amxmlc コンパイラーでローカルファイルが自動的に読み込まれます。例えば、メイン MXML ファイルが
RunningMan.mxml
である場合は、ローカル設定ファイルの名前を
RunningMan-config.xml
にします。今度は、アプリケーションをコンパイルするには、次のように入力するだけです。
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>