拡張記述ファイルの作成

各ネイティブ拡張には、拡張記述ファイルが含まれています。この XML ファイルでは、拡張識別子、名前、バージョン番号、実行可能なプラットフォームなど、拡張に関する情報が指定されます。

拡張を作成するときは、ネイティブ拡張記述ファイルの詳細なスキーマに従って拡張記述ファイルを記述します。

次に、例を示します。

<extension xmlns="http://ns.adobe.com/air/extension/3.5"> 
                    <id>com.example.MyExtension</id> 
                    <versionNumber>0.0.1</versionNumber> 
                    <platforms> 
                    <platform name="Android-ARM"> 
                    <applicationDeployment> 
                    <nativeLibrary>MyExtension.jar</nativeLibrary> 
                    <initializer>com.sample.ext.MyExtension</initializer> 
                    </applicationDeployment> 
                    </platform> 
                    <platform name="iPhone-ARM"> 
                    <applicationDeployment> 
                    <nativeLibrary>MyExtension.a</nativeLibrary> 
                    <initializer>MyExtensionIntializer</initializer> 
                    </applicationDeployment> 
                    </platform> 
                    <platform name="default"> 
                    <applicationDeployment/> 
                    </platform> 
                    </platforms> 
                    </extension>

拡張記述ファイルを作成するときは、次の情報を考慮します。

拡張 ID

<id> エレメントの値は、以下で使用されている値と同じです。

  • CreateExtensionContext() に対する ActionScript の呼び出し。

  • 拡張を使用するアプリケーションのアプリケーション記述ファイル内にある extensionID エレメント。

拡張 ID の名前を設定する場合のベストプラクティスについては、拡張 IDを参照してください。

バージョン番号

<versionNumber> エレメントの値では、拡張のバージョンを指定します。バージョン番号の重要な用途の 1 つは、デバイスバンドル拡張の下位互換性を維持することです。ネイティブ拡張の下位互換性を参照してください。

プラットフォーム

複数プラットフォームのターゲットで説明しているように、複数のプラットフォームをターゲットとするネイティブ拡張を作成できます。

ランタイムでの拡張の利用で説明しているように、プラットフォームに応じて、拡張はアプリケーションバンドルまたはデバイスバンドルになります。

ターゲットとなるプラットフォームごとに、拡張記述ファイルで <platform> エレメントを指定します。<platform> エレメントの name 属性では、iPhone-ARMWindows-x86 など、ターゲットのプラットフォームを指定します。アプリケーションバンドル拡張では、name 属性の値として default も指定できます。この値は、拡張が ActionScript 専用であり、ネイティブコードライブラリが含まれていないことを示します。

アプリケーションバンドル拡張を使用する AIR アプリケーションを実行すると、AIR では次の処理が実行されます。

  • 拡張記述ファイルによってデバイスのプラットフォームに対応するプラットフォーム名に関連付けられている拡張ライブラリがロードされます。

  • デバイスに対応するプラットフォーム名がない場合は、拡張記述ファイルによってデフォルトのプラットフォームに関連付けられている拡張ライブラリがロードされます。

記述子の名前空間

記述ファイルのルート <extension> エレメントで指定される名前空間によって、拡張で必要な AIR SDK バージョンが決定されます。SWF のバージョン同様、名前空間は、拡張が AIR アプリケーションで使用できるかどうかを決定する要素の 1 つです。AIR アプリケーション記述子の名前空間は、拡張記述子の名前空間と同じかそれ以降である必要があります。

拡張の名前空間値

互換性のある AIR バージョン

ANE SWF バージョン

ns.adobe.com/air/extension/2.5

AIR 3 以降

13

ns.adobe.com/air/extension/3.1

AIR 3.1 以降

14

ns.adobe.com/air/extension/3.2

AIR 3.2+

15

ns.adobe.com/air/extension/3.3

AIR 3.3+

16

ns.adobe.com/air/extension/3.4

AIR 3.4+

17

ns.adobe.com/air/extension/3.5

AIR 3.5+

18

ns.adobe.com/air/extension/3.6

AIR 3.6+

19

ns.adobe.com/air/extension/3.7

AIR 3.7+

20

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