创建扩展描述符文件

每个本机扩展都包含一个扩展描述符文件。此 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> 元素的值与以下情况中使用的值相同:

  • ActionScript 对 CreateExtensionContext() 的调用。

  • 使用扩展的应用程序的应用程序描述符文件中的 extensionID 元素。

有关命名扩展 ID 的最佳做法,请参阅 扩展 ID

版本号

<versionNumber> 元素的值用于指定扩展的版本。版本号的一个重要用途是用于保持设备绑定扩展的向后兼容性。请参阅 本机扩展向后兼容性

平台

您还可以如 面向多种平台 中所述编写面向多种平台的本机扩展。

扩展在运行时的提供方式 中所述,扩展可以是应用程序绑定或设备绑定的,具体取决于平台。

对于每个目标平台,在扩展描述符文件中提供一个 < platform > 元素。 <platform> 元素的 name 属性指定目标平台,如 iPhone-ARM Windows-x86 。应用程序绑定扩展还可以指定 default 作为 name 属性的值。此值指示该扩展是一个仅 ActionScript 扩展;该扩展没有本机代码库。

当使用应用程序绑定扩展的 AIR 应用程序运行时,AIR 执行以下操作:

  • AIR 加载扩展库,扩展库的扩展描述符文件与设备的平台对应的平台名称关联。

  • 如果没有与设备对应的平台名称,AIR 将加载扩展描述符文件与默认平台关联的扩展库。

描述符命名空间

描述符文件的根 <extension> 元素中指定的命名空间决定扩展所需的 AIR SDK 版本。命名空间只是其中一个因素,它与 SWF 版本一起决定能否在 AIR 应用程序中使用扩展。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。