各ネイティブ拡張には、拡張記述ファイルが含まれています。この 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>
エレメントの値は、以下で使用されている値と同じです。
拡張 ID の名前を設定する場合のベストプラクティスについては、
拡張 ID
を参照してください。
バージョン番号
<versionNumber>
エレメントの値では、拡張のバージョンを指定します。バージョン番号の重要な用途の 1 つは、デバイスバンドル拡張の下位互換性を維持することです。
ネイティブ拡張の下位互換性
を参照してください。
プラットフォーム
複数プラットフォームのターゲット
で説明しているように、複数のプラットフォームをターゲットとするネイティブ拡張を作成できます。
ランタイムでの拡張の利用
で説明しているように、プラットフォームに応じて、拡張はアプリケーションバンドルまたはデバイスバンドルになります。
ターゲットとなるプラットフォームごとに、拡張記述ファイルで
<
platform
>
エレメントを指定します。
<platform>
エレメントの
name
属性では、
iPhone-ARM
や
Windows-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 が必要な場合があります。