aqubi+shin1

Recent site activity

Adobe Air‎ > ‎

MXMLのコンパイル

AIRを使ってMXMLのコンパイルをするとき、flexSDK/bin/mxmlc.exe を使いますが、これを使うととても遅いです。。

そこで、代わりにfcsh.exeを使うと比較的早くコンパイルできることが可能です。その方法をご紹介

まずは、fcsh.exe を起動します。
すると、

(fcsh)

というプロンプトが出てきます。ここで、

(fcsh) mxmlc +configname=air {mxmlファイルパス}

を指定してあげると

(fcsh) mxmlc +configname=air {mxmlファイルパス}
fcsh: コンパイルのターゲット ID として 1 が割り当てられました
Loading configuration file .../air-config.xml
・・・・・・・・・・・・.swf (....bytes)

という感じで、swfを生成してくれます。

1回目は mxmlcと同じぐらい遅いですが、2回目以降は結構早い。

同じファイルをちょっと修正してまたコンパイルしたいときには、ターゲットIDを使ってコンパイルすると尚早くなります。

(fcsh) compile 1

上記は ターゲットIDが 1に割り当てられたものを再実行する場合です。 もし、前回とmxmlのファイルが変わっていない場合には

(fcsh) compile 1
最後のコンパイル以降何も変更されていません。スキップします...
・・・・・・・・・・・・.swf (....bytes)

・・・なんて言ってくれたりもします。

MXMLのコンパイル (shin1)

MXMLCのコンパイルオプション


mxmlc -help list details
で表示すると指定できるオプションが表示されます。

以下は、FlexSDK3.1で出力してみたそのままになりますが。。。
ここで初めてエイリアスってのがあって省略されているんだーというのを知った。。
-benchmark
    パフォーマンスベンチマークを出力します

-compiler.accessible
    エイリアス -accessible
    アクセス可能な SWF を生成します

-compiler.actionscript-file-encoding <string>
    エイリアス -actionscript-file-encoding
    ActionScript ファイルのエンコーディングを指定します。AS3 ソースファイルに BOM
    がない場合、コンパイラはこのファイルエンコーディングを使用します。

-compiler.context-root <context-path>
    エイリアス -context-root
    サービスチャンネルのエンドポイントの {context.root} トークンを置き換えるパス

-compiler.debug
    エイリアス -debug
    デバッグに適したムービーを生成します

-compiler.external-library-path [path-element] [...]
    エイリアス -el
    コンパイル対象であるが、リンクからは除外される SWC ファイルまたはディレクトリの一覧 (反復可能)

-compiler.fonts.advanced-anti-aliasing
    エイリアス -advanced-anti-aliasing
    埋め込みフォントの高度なアンチエイリアスを有効にして、小さいフォントを見やすくします。

-compiler.fonts.flash-type
    エイリアス -flash-type
    埋めみフォントの FlashType を有効にして、小さいフォントを見やすくする

-compiler.fonts.max-glyphs-per-face <string>
    エイリアス -max-glyphs-per-face
    各フォントについてサーバーにキャッシュできる文字のグリフアウトラインの最大数を設定します。デフォルト値は 1000 です。

-compiler.include-libraries [library] [...]
    エイリアス -include-libraries
    SWF に完全にインクルードされるライブラリ (SWC) の一覧 (反復可能)

-compiler.incremental
    エイリアス -incremental
    インクリメンタルコンパイルを有効にします

-compiler.library-path [path-element] [...]
    エイリアス -library-path
    SWC ファイルまたは SWC ファイルを格納するディレクトリの一覧 (反復可能)

-compiler.locale [locale-element] [...]
    エイリアス -locale
    国際化用にロケールを指定します (反復可能)

-compiler.mxml.compatibility-version <version>
    エイリアス -compatibility-version
    互換性のあるバージョンを指定します (compatibility-version=2.0.1 など)

-compiler.namespaces.namespace <uri> <manifest>
    エイリアス -namespace
    MXML エレメントとして使用するためのコンポーネントのマニフェストに関連付ける URI を指定します (反復可能)

-compiler.optimize
    エイリアス -optimize
    リンク後の SWF の最適化を有効にします

-compiler.services <filename>
    エイリアス -services
    Flex データサービス設定ファイルへのパス

-compiler.show-actionscript-warnings
    エイリアス -show-actionscript-warnings
    有効であるが部分的に正しくないコードを検出するモードで AS3 コンパイラを実行します

-compiler.show-binding-warnings
    エイリアス -show-binding-warnings
    データバインディングコードから生成される警告を表示するかどうかを切り替えます

-compiler.show-shadowed-device-font-warnings
    エイリアス -show-shadowed-device-font-warnings
    toggles whether warnings are displayed when an embedded font name
    shadows a device font name

-compiler.show-unused-type-selector-warnings
    エイリアス -show-unused-type-selector-warnings
    使用されていない CSS タイプセレクタから生成される警告を表示するかどうかを切り替えます

-compiler.source-path [path-element] [...]
    エイリアス -sp
    ActionScript クラス階層のルートを形成するパスエレメントの一覧 (反復可能)

-compiler.strict
    エイリアス -strict
    厳密なエラーチェックモードで AS3 コンパイラを実行します

-compiler.theme [filename] [...]
    エイリアス -theme
    テーマとして適用する CSS または SWC ファイルの一覧 (反復可能)

-compiler.use-resource-bundle-metadata
    エイリアス -use-resource-bundle-metadata
    リソースバンドルがアプリケーションに含まれているかどうかを調べます。

-help [keyword] [...]
    キーワードは 'syntax','list','advanced','aliases','details',または検索語句です

-include-resource-bundles [bundle] [...]
    出力 SWC に含めるリソースバンドルの一覧 (反復可能)

-licenses.license <product> <serial-number>
    エイリアス -license
    製品とシリアル番号を指定します。  (反復可能)

-load-config <filename>
    設定オプションを含むファイルをロードします (反復可能)

-metadata.contributor <name>
    エイリアス -contributor
    SWF メタデータに保存されている投稿者の名前 (反復可能)

-metadata.creator <name>
    エイリアス -creator
    SWF メタデータに保存されている作成者の名前 (反復可能)

-metadata.date <text>
    エイリアス -date
    SWF メタデータに保存されている作成日

-metadata.description <text>
    エイリアス -description
    SWF メタデータに保存されているデフォルトの説明

-metadata.language <code>
    エイリアス -language
    SWF メタデータに保存されている言語 (EN、FR など) (反復可能)

-metadata.localized-description <text> <lang>
    エイリアス -localized-description
    SWF メタデータに保存されているローカライズされた RDF/XMP の説明 (反復可能)

-metadata.localized-title <title> <lang>
    エイリアス -localized-title
    SWF メタデータに保存されているローカライズされた RDF/XMP タイトル (反復可能)

-metadata.publisher <name>
    エイリアス -publisher
    SWF メタデータに保存されている発行者の名前 (反復可能)

-metadata.title <text>
    エイリアス -title
    SWF メタデータに保存されているデフォルトのタイトル

-output <filename>
    エイリアス -o
    作成する SWF ムービーのファイル名

-runtime-shared-libraries [url] [...]
    エイリアス -rsl
    アプリケーションが起動する前にロードされるランタイム共有ライブラリの URL の一覧 (反復可能)

-runtime-shared-library-path [path-element] [rsl-url] [policy-file-url] [rsl-url] [policy-file-url]
    エイリアス -rslp
     (反復可能)

-static-link-runtime-shared-libraries
    エイリアス -static-rsls
    ドメイン間の rsl によって指定されたライブラリを静的にリンクします。

-target-player <version>
    アプリケーションがターゲットとするプレーヤーのバージョンを指定します。より新しいバージョンを必要とする機能は、アプリケーションにコンパイルされません。サポートされる最小の値は「9.0.0」です。

-use-network
    ネットワークリソースへのアクセスについて SWF にフラグを設定するかどうかを切り替えます

-version
    プログラムのビルドバージョンを表示します

-warnings
    警告の表示を切り替えます

オプションの指定方法


リストで指定するオプションの指定は、スペース区切りかカンマ区切りでおこないます。
-var val1 val2 もしくは -var=val1, val2

スペース区切りの場合には、リストの終わりは -- (ハイフン二つ)で指定します。
-var val1 val2 -- -next_option

カンマ区切りの場合には、リストの終わりはカンマ無しにすればOK。
-var=val1, val2 -next_option

+=を使うと値の追加ができます。
mxmlc -library-path+=c:/myfiles
(c:/myfiles ディレクトリを library-path オプションに追加)