ネイティブ拡張の ActionScript ライブラリの構築

拡張の ActionScript 側を SWC ファイル内に構築します。この SWC ファイルは ActionScript ライブラリです。つまり、ActionScript クラスおよびその他のリソース(画像や文字列など)を含むアーカイブファイルです。

ネイティブ拡張をパッケージ化する際には、SWC ファイルと個別の library.swf ファイルの両方が必要になります。library.swf ファイルは SWC ファイルから抽出します。SWC ファイルには、オーサリングとコンパイルのための ActionScript 定義が含まれています。library.swf には、特定のプラットフォームで使用される ActionScript 実装が含まれています。拡張のターゲットプラットフォームごとに別々の ActionScript 実装が必要な場合は、複数の SWC ライブラリを作成し、プラットフォームごとに個別に library.swf を抽出します。ただし、ベストプラクティスは、すべての ActionScript 実装で同じパブリックインターフェイスを使用することです(ANE パッケージに含めることのできる SWC ファイルは 1 つだけです)。

SWC ファイルには、library.swf というファイルが含まれています。詳しくは、ANE パッケージ内の SWC ファイルと SWF ファイルを参照してください。

次のいずれかの方法を使用して SWC ファイルを構築します。

  • Adobe Flash Builder を使用して Flex ライブラリプロジェクトを作成する。

    Flex ライブラリプロジェクトを作成すると、Flash Builder によって SWC ファイルが作成されます。「Flex ライブラリプロジェクトの作成」を参照してください。

    Flex ライブラリプロジェクトを作成するときは、Adobe AIR ライブラリを含めるオプションを必ず選択してください。

    SWC は適切なバージョンの SWF 形式にコンパイルしてください。AIR 2.7 は SWF 11、AIR 3 は SWF 13、AIR 3.1 は SWF 14 などのように使用してください。SWF ファイル形式のバージョンは、プロジェクトのプロパティで設定できます。ActionScript コンパイラーを選択して、次のような追加のコンパイラー引数を入力します。

    -swf-version 17
    注意: Flex SDK bin ディレクトリにある swfdump を次のように使用して、SWF ファイルの SWF ファイル形式のバージョンを確認できます。swfdump myFlexLibraryProjectSWF.swf
  • AIR の Flex ライブラリプロジェクトを作成するには、acompc コマンドラインツールを使用します。このツールは、Flex SDK で提供されるコンポーネントコンパイラーです。Flash Builder を使用していない場合は、acompc を直接使用します。「Using compc, the component compiler」を参照してください。

    次に、例を示します。

    acompc -source-path $HOME/myExtension/actionScript/src 
                                    -include-classes sample.extension.MyExtensionClass sample.extension.MyExtensionHelperClass 
                                    -swf-version=13 
                                    -output $HOME/myExtension/output/sample.extension.myExtension.swc
    注意: ActionScript ライブラリで外部リソースを使用している場合は、ADT を使用して、外部リソースを ANE ファイルにパッケージ化します。ネイティブ拡張パッケージの作成を参照してください。

SWF バージョンの互換性

ActionScript ライブラリのコンパイル時に指定される SWF のバージョンは、拡張記述子の名前空間と同様、拡張に AIR アプリケーションとの互換性があるかどうかを決定する要素の 1 つになります。メインアプリケーションの SWF ファイルよりも上のバージョンの SWF を拡張で使用することはできません。

互換性のある AIR アプリケーションバージョン

ANE SWF バージョン

拡張の名前空間

3.0+

10 ~ 13

ns.adobe.com/air/extension/2.5

3.1+

14

ns.adobe.com/air/extension/3.1

3.2+

15

ns.adobe.com/air/extension/3.2

3.3+

16

ns.adobe.com/air/extension/3.3

3.4+

17

ns.adobe.com/air/extension/3.4

3.5+

18

ns.adobe.com/air/extension/3.5

3.6+

19

ns.adobe.com/air/extension/3.6

3.7+

20

ns.adobe.com/air/extension/3.7

注意: プラットフォームオプション(platform.xml)ファイルには ns.adobe.com/air/extension/3.1 以降の名前空間が必要です。‑platformoptions フラグを使用して ANE をパッケージ化する場合は、ns.adobe.com/air/extension/3.1 以降と、14 以降のバージョンの SWC を指定する必要があります。プラットフォームオプションファイル機能によっては、以降のバージョンの AIR の名前空間と SWF が必要な場合があります。